first issue
This commit is contained in:
parent
51ca1cf107
commit
3bf4ddc2f5
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
|
|
@ -1,16 +1,11 @@
|
|||
# ---> Java
|
||||
# Compiled class file
|
||||
# Java
|
||||
target/
|
||||
bin/
|
||||
*.class
|
||||
|
||||
# Log file
|
||||
*.log
|
||||
|
||||
# BlueJ files
|
||||
*.ctxt
|
||||
|
||||
# Mobile Tools for Java (J2ME)
|
||||
.mtj.tmp/
|
||||
|
||||
# Package Files #
|
||||
*.jar
|
||||
*.war
|
||||
|
|
@ -20,7 +15,5 @@
|
|||
*.tar.gz
|
||||
*.rar
|
||||
|
||||
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||
hs_err_pid*
|
||||
replay_pid*
|
||||
|
||||
# do NOT ignores
|
||||
!lib/*
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>exampleXml</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.8
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=1.8
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
package mmk.xml;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
public class ReadXmlFile {
|
||||
|
||||
public static void main(String[] args) {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder;
|
||||
Document doc;
|
||||
try {
|
||||
dBuilder = dbFactory.newDocumentBuilder();
|
||||
doc = dBuilder.parse("txt//asd.xml");
|
||||
doc.getDocumentElement().normalize();
|
||||
NodeList nList = doc.getElementsByTagName("Parameter");
|
||||
|
||||
for (int temp = 0; temp < nList.getLength(); temp++) {
|
||||
Node node = nList.item(temp);
|
||||
Element param = (Element) node;
|
||||
System.out.println(setParameters(param));
|
||||
}
|
||||
}
|
||||
catch (ParserConfigurationException | SAXException | IOException e) {
|
||||
System.out.println(e.getMessage());
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private static String setParameters(Element element) throws Exception{
|
||||
String result = "";
|
||||
String typeOfParameter = element.getAttribute("type").trim().toLowerCase(Locale.ENGLISH);
|
||||
|
||||
if (typeOfParameter.equals("real_number"))
|
||||
result = element.getAttribute("name") + " - " + element.getAttribute("type")
|
||||
+ " - " + Double.valueOf(element.getAttribute("value"));
|
||||
else if (typeOfParameter.equals("string"))
|
||||
result = element.getAttribute("name") + " - " + element.getAttribute("type")
|
||||
+ " - " + element.getAttribute("value");
|
||||
else if (typeOfParameter.equals("integer"))
|
||||
result = element.getAttribute("name") + " - " + element.getAttribute("type")
|
||||
+ " - " + Integer.valueOf(element.getAttribute("value"));
|
||||
else if (typeOfParameter.equals("yes_no"))
|
||||
result = element.getAttribute("name") + " - " + element.getAttribute("type")
|
||||
+ " - " + Boolean.valueOf(element.getAttribute("value"));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
package mmk.xml;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.OutputKeys;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
|
||||
import org.w3c.dom.Attr;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
|
||||
public class WriteXmlFile {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
File xmlFile = new File("txt\\" + "asd.xml");
|
||||
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
Document doc = dBuilder.newDocument();
|
||||
Element rootElement = doc.createElement("Parameters");
|
||||
doc.appendChild(rootElement);
|
||||
|
||||
TransformerFactory tFactory = TransformerFactory.newInstance();
|
||||
Transformer transformer = tFactory.newTransformer();
|
||||
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
|
||||
StreamResult sResult = new StreamResult(xmlFile);
|
||||
|
||||
Element childElement = doc.createElement("Parameter");
|
||||
rootElement.appendChild(childElement);
|
||||
|
||||
Attr attrName = doc.createAttribute("name");
|
||||
attrName.setValue("id");
|
||||
childElement.setAttributeNode(attrName);
|
||||
|
||||
Attr attrType = doc.createAttribute("type");
|
||||
attrType.setValue("string");
|
||||
childElement.setAttributeNode(attrType);
|
||||
|
||||
Attr attrValue = doc.createAttribute("value");
|
||||
attrValue.setValue("00001");
|
||||
childElement.setAttributeNode(attrValue);
|
||||
|
||||
DOMSource source = new DOMSource(doc);
|
||||
transformer.transform(source, sResult);
|
||||
}
|
||||
catch (ParserConfigurationException | TransformerException pce) {
|
||||
System.out.println("error: " + pce.getMessage());
|
||||
}
|
||||
|
||||
System.out.println("Completed.");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
package mmk.xml.repo;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class XmlApp {
|
||||
|
||||
public static void main(String[] args) throws IOException {
|
||||
|
||||
saveXml("txt\\asd2.xml");
|
||||
readXml("txt\\asd2.xml");
|
||||
|
||||
}
|
||||
|
||||
private static void saveXml(String file) {
|
||||
XmlParameter<String> xp1 = new XmlParameter<>("name", "STRING", "M.KILIC");
|
||||
XmlParameter<String> xp2 = new XmlParameter<>("machineType", "STRING", "workstation");
|
||||
XmlParameter<Double> xp3 = new XmlParameter<>("length", "REAL_NUMBER", 200.5);
|
||||
XmlParameter<Integer> xp4 = new XmlParameter<>("qty", "INTEGER", 5);
|
||||
XmlParameter<Boolean> xp5 = new XmlParameter<>("completed", "YES_NO", true);
|
||||
|
||||
XmlRepo xmlr = new XmlRepo(file);
|
||||
|
||||
xmlr.addParam(xp1);
|
||||
xmlr.addParam(xp2);
|
||||
xmlr.addParam(xp3);
|
||||
xmlr.addParam(xp4);
|
||||
xmlr.addParam(xp5);
|
||||
|
||||
System.out.println("done");
|
||||
}
|
||||
|
||||
private static void readXml(String file) {
|
||||
XmlRepo xmlr = new XmlRepo(file);
|
||||
|
||||
xmlr.readParam().stream().forEach(p -> System.out.println(p.toString()));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
package mmk.xml.repo;
|
||||
|
||||
public class XmlParameter<T> {
|
||||
private String name;
|
||||
private String type;
|
||||
private T value;
|
||||
|
||||
public XmlParameter() { }
|
||||
|
||||
public XmlParameter(String name, String type, T value) {
|
||||
this.name = name;
|
||||
this.type = type;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public T getValeu() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValeu(T valeu) {
|
||||
this.value = valeu;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return name +" - "+ type +" - "+ value;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,178 @@
|
|||
package mmk.xml.repo;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.OutputKeys;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerConfigurationException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
|
||||
import org.w3c.dom.Attr;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
public class XmlRepo {
|
||||
private File xmlFile;
|
||||
private Document doc;
|
||||
private Element rootElement;
|
||||
private Transformer transformer;
|
||||
private StreamResult sResult;
|
||||
|
||||
public XmlRepo(String urlFileName) {
|
||||
xmlFile = new File(urlFileName);
|
||||
|
||||
if (xmlFile.exists()) {
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
doc = dBuilder.parse(xmlFile);
|
||||
rootElement = doc.getDocumentElement();
|
||||
|
||||
TransformerFactory tFactory = TransformerFactory.newInstance();
|
||||
transformer = tFactory.newTransformer();
|
||||
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
|
||||
sResult = new StreamResult(xmlFile);
|
||||
}
|
||||
catch (ParserConfigurationException pce) {
|
||||
System.out.println(pce.getMessage());
|
||||
}
|
||||
catch (TransformerConfigurationException tce) {
|
||||
System.out.println(tce.getMessage());
|
||||
}
|
||||
catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
else {
|
||||
try {
|
||||
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
|
||||
doc = dBuilder.newDocument();
|
||||
rootElement = doc.createElement("Parameters");
|
||||
doc.appendChild(rootElement);
|
||||
|
||||
TransformerFactory tFactory = TransformerFactory.newInstance();
|
||||
transformer = tFactory.newTransformer();
|
||||
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
|
||||
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
|
||||
//transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
|
||||
//transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "3");
|
||||
|
||||
sResult = new StreamResult(xmlFile);
|
||||
DOMSource source = new DOMSource(doc);
|
||||
|
||||
transformer.transform(source, sResult);
|
||||
}
|
||||
catch (ParserConfigurationException pce) {
|
||||
//...
|
||||
}
|
||||
catch (TransformerConfigurationException tce) {
|
||||
//...
|
||||
}
|
||||
catch (Exception e) {
|
||||
//...
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public boolean addParam(XmlParameter<?> parameter) {
|
||||
try {
|
||||
|
||||
Element childElement = doc.createElement("Parameter");
|
||||
rootElement.appendChild(childElement);
|
||||
|
||||
Attr attrName = doc.createAttribute("name");
|
||||
attrName.setValue(parameter.getName());
|
||||
childElement.setAttributeNode(attrName);
|
||||
|
||||
Attr attrType = doc.createAttribute("type");
|
||||
attrType.setValue(parameter.getType());
|
||||
childElement.setAttributeNode(attrType);
|
||||
|
||||
Attr attrValue = doc.createAttribute("value");
|
||||
attrValue.setValue(parameter.getValeu().toString());
|
||||
childElement.setAttributeNode(attrValue);
|
||||
|
||||
DOMSource source = new DOMSource(doc);
|
||||
transformer.transform(source, sResult);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean changeParam(XmlParameter<?> parameter) {
|
||||
try {
|
||||
NodeList nList = doc.getElementsByTagName("Parameter");
|
||||
|
||||
for (int i = 0; i <nList.getLength(); i++) {
|
||||
Element e = (Element)nList.item(i);
|
||||
if (e.getAttribute("name").equalsIgnoreCase(parameter.getName()) &&
|
||||
e.getAttribute("type").equalsIgnoreCase(parameter.getType())) {
|
||||
|
||||
e.setAttribute("value", parameter.getValeu().toString());
|
||||
DOMSource source = new DOMSource(doc);
|
||||
transformer.transform(source, sResult);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
catch (Exception ex) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public List<XmlParameter<?>> readParam(){
|
||||
List<XmlParameter<?>> parameters = new ArrayList<>();
|
||||
doc.getDocumentElement().normalize();
|
||||
NodeList nList = doc.getElementsByTagName("Parameter");
|
||||
|
||||
for (int temp = 0; temp < nList.getLength(); temp++) {
|
||||
Node node = nList.item(temp);
|
||||
Element param = (Element) node;
|
||||
|
||||
try {
|
||||
parameters.add(getParameter(param));
|
||||
} catch (Exception e) {
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
return parameters;
|
||||
}
|
||||
|
||||
private XmlParameter<?> getParameter(Element element) throws Exception{
|
||||
XmlParameter<?> parameter = null;
|
||||
String typeOfParameter = element.getAttribute("type").trim().toLowerCase(Locale.ENGLISH);
|
||||
|
||||
if (typeOfParameter.equals("real_number"))
|
||||
parameter = new XmlParameter<Double>(element.getAttribute("name"),
|
||||
element.getAttribute("type"), Double.valueOf(element.getAttribute("value")));
|
||||
else if (typeOfParameter.equals("string"))
|
||||
parameter = new XmlParameter<String>(element.getAttribute("name"),
|
||||
element.getAttribute("type"), (element.getAttribute("value")));
|
||||
else if (typeOfParameter.equals("integer"))
|
||||
parameter = new XmlParameter<Integer>(element.getAttribute("name"),
|
||||
element.getAttribute("type"), Integer.valueOf(element.getAttribute("value")));
|
||||
else if (typeOfParameter.equals("yes_no"))
|
||||
parameter = new XmlParameter<Boolean>(element.getAttribute("name"),
|
||||
element.getAttribute("type"), Boolean.valueOf(element.getAttribute("value")));
|
||||
|
||||
return parameter;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<Parameters>
|
||||
<Parameter name="id" type="string" value="00001"/>
|
||||
</Parameters>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<Parameters>
|
||||
<Parameter name="name" type="STRING" value="M.KILIC"/>
|
||||
<Parameter name="machineType" type="STRING" value="workstation"/>
|
||||
<Parameter name="length" type="REAL_NUMBER" value="200.5"/>
|
||||
<Parameter name="qty" type="INTEGER" value="5"/>
|
||||
<Parameter name="completed" type="YES_NO" value="true"/>
|
||||
</Parameters>
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<Cities>
|
||||
<City id="1"><name>Bratislava</name><population>432000</population></City>
|
||||
<City id="2"><name>Budapest</name><population>1759000</population></City>
|
||||
<City id="3"><name>Prague</name><population>1280000</population></City>
|
||||
<City id="4"><name>Warsaw</name><population>1748000</population></City>
|
||||
<City id="5"><name>Los Angeles</name><population>3971000</population></City>
|
||||
<City id="6"><name>New York</name><population>8550000</population></City>
|
||||
<City id="7"><name>Edinburgh</name><population>464000</population></City>
|
||||
<City id="8"><name>Berlin</name><population>3671000</population></City>
|
||||
</Cities>
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<Parameters>
|
||||
<Parameter name="FB_NO" type="STRING" value="ABC123"/>
|
||||
<Parameter name="CORE_DIA" type="INTEGER" value="689"/>
|
||||
<Parameter name="CORE_CTR_TO_CTR" type="REAL_NUMBER" value="1317"/>
|
||||
<Parameter name="CORE_INSULATION" type="YES_NO" value="FALSE"/>
|
||||
</Parameters>
|
||||
Loading…
Reference in New Issue