XML内容
<?xml version="1.0" encoding="UTF-8"?>
<Languages cat="it">
<lan id="1">
<name>Java</name>
<ide>Eclipse</ide>
</lan>
<lan id="2">
<name>Swift</name>
<ide>Xcode</ide>
</lan>
<lan id="3">
<name>C#</name>
<ide>Visual Studio</ide>
</lan>
</Languages>
java 读取XML
public class ReadXML {
public static void main(String[] args) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance()
DocumentBuilder builder = factory.newDocumentBuilder()
Document document = builder.parse(new File("languages.xml"))
org.w3c.dom.Element root = document.getDocumentElement()
System.out.println("cat=" + root.getAttribute("cat"))
NodeList list = root.getElementsByTagName("lan")
for (int i = 0
org.w3c.dom.Element lan = (org.w3c.dom.Element) list.item(i)
System.out.println("--------------------------")
System.out.println("id+" + lan.getAttribute("id"))
// org.w3c.dom.Element name = (org.w3c.dom.Element) lan.getElementsByTagName("name").item(0)
// System.out.println("name=" + name.getTextContent())
NodeList cList = lan.getChildNodes()
for (int j = 0
Node c = cList.item(j)
if (c instanceof org.w3c.dom.Element) {
System.out.println(c.getNodeName() + "=" + c.getTextContent())
}
}
}
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace()
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
}
java 创建XML
public class TestCreatXML {
public static void main(String[] args) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance()
DocumentBuilder builder = factory.newDocumentBuilder()
Document document = builder.newDocument()
Element root = document.createElement("languages")
root.setAttribute("cat", "it")
Element lan1 = document.createElement("lan")
lan1.setAttribute("id", "1")
Element name1 = document.createElement("name")
name1.setTextContent("Java")
Element ide1 = document.createElement("ide")
ide1.setTextContent("Eclipse")
lan1.appendChild(name1)
lan1.appendChild(ide1)
Element lan2 = document.createElement("lan")
lan2.setAttribute("id", "1")
Element name2 = document.createElement("name")
name2.setTextContent("Swift")
Element ide2 = document.createElement("ide")
ide2.setTextContent("Xcode")
lan2.appendChild(name2)
lan2.appendChild(ide2)
Element lan3 = document.createElement("lan")
lan3.setAttribute("id", "1")
Element name3 = document.createElement("name")
name1.setTextContent("C#")
Element ide3 = document.createElement("ide")
ide3.setTextContent("Visual Studio")
lan3.appendChild(name3)
lan3.appendChild(ide3)
root.appendChild(lan1)
root.appendChild(lan2)
root.appendChild(lan3)
document.appendChild(root)
TransformerFactory transformerFactory = TransformerFactory.newInstance()
Transformer transformer = transformerFactory.newTransformer()
StringWriter writer = new StringWriter()
transformer.transform(new DOMSource(document), new StreamResult(writer))
System.out.println(writer)
transformer.transform(new DOMSource(document), new StreamResult(new File("newXML.xml")))
} catch (ParserConfigurationException e) {
e.printStackTrace()
} catch (TransformerConfigurationException e) {
e.printStackTrace()
} catch (TransformerException e) {
e.printStackTrace()
}
}
}
利用dom4j将string直接输出为XML
public class Test {
public static void main(String[] args) {
String xmlString = "<root><people>ACELY</people></root>";
try {
org.dom4j.Document document = DocumentHelper.parseText(xmlString);
System.out.println(document.asXML());
} catch (DocumentException e) {
e.printStackTrace();
}
}
}