package class2;
import java.io.OutputStreamWriter;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.Iterator;
import java.util.Vector;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
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.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
public class XmlTest
{
public static void main(String[] args)
{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("xml/pet2.xml");
NodeList dogList = doc.getElementsByTagName("dog");
System.out.println("共有" + dogList.getLength() + "个dog节点");
for (int i = 0; i < dogList.getLength(); i++)
{
Node dog = dogList.item(i);
Element elem = (Element) dog;
System.out.println("id:" + elem.getAttribute("id"));
for (Node node = dog.getFirstChild(); node != null; node = node.getNextSibling())
{
if (node.getNodeType() == Node.ELEMENT_NODE)
{
String name = node.getNodeName();
//node.setTextContent("hsh");
String value = node.getFirstChild().getNodeValue();
System.out.print(name + ":" + value + "\t");
}
}
System.out.println();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
// 写入xml文件
public static void callWriteXmlFile(Document doc, Writer w, String encoding) {
try {
Source source = new DOMSource(doc);
Result result = new StreamResult(w);
Transformer xformer = TransformerFactory.newInstance()
.newTransformer();
xformer.setOutputProperty(OutputKeys.ENCODING, encoding);
xformer.transform(source, result);
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}
import java.io.OutputStreamWriter;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.*;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.Iterator;
import java.util.Vector;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
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.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
public class XmlTest
{
public static void main(String[] args)
{
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse("xml/pet2.xml");
NodeList dogList = doc.getElementsByTagName("dog");
System.out.println("共有" + dogList.getLength() + "个dog节点");
for (int i = 0; i < dogList.getLength(); i++)
{
Node dog = dogList.item(i);
Element elem = (Element) dog;
System.out.println("id:" + elem.getAttribute("id"));
for (Node node = dog.getFirstChild(); node != null; node = node.getNextSibling())
{
if (node.getNodeType() == Node.ELEMENT_NODE)
{
String name = node.getNodeName();
//node.setTextContent("hsh");
String value = node.getFirstChild().getNodeValue();
System.out.print(name + ":" + value + "\t");
}
}
System.out.println();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
// 写入xml文件
public static void callWriteXmlFile(Document doc, Writer w, String encoding) {
try {
Source source = new DOMSource(doc);
Result result = new StreamResult(w);
Transformer xformer = TransformerFactory.newInstance()
.newTransformer();
xformer.setOutputProperty(OutputKeys.ENCODING, encoding);
xformer.transform(source, result);
} catch (TransformerConfigurationException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}
}
<pets>
<dogs>
<dog id="1">
<name>YAYA</name>
<health>100</health>
<love>0</love>
<strain>酷酷的雪娜瑞</strain>
</dog>
<dog id="2">
<name>OUOU</name>
<health>90</health>
<love>15</love>
<strain>聪明的拉布拉多犬</strain>
</dog>
</dogs>
<penguins>
<penguin id="3">
<name>QQ</name>
<health>100</health>
<love>20</love>
<sex>Q仔</sex>
</penguin>
</penguins>
</pets>