xml文档
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id="1"> <name>你好</name> <author>李四</author> <price>80</price> </book> <book id="2"> <name>你好2</name> <author>李四2</author> <price>81</price> </book> </bookstore>
java文件
package cn.lonecloud.xml;
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;
public class DomXML {
public static void main(String[] args) throws Exception {
//先建立一个DocumentBuilderFactory对象
DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
//建立一个buildfactory对象
DocumentBuilder db=dbf.newDocumentBuilder();
//获取xml文件
Document document=db.parse("demo.xml");
//获取root树的Element
Element e1=document.getDocumentElement();
//获取子元素的子节点
if (e1!=null) {
NodeList list=e1.getChildNodes();
if (list!=null) {
//遍历书子节点
for (int i = 0; i < list.getLength(); i++) {
Node node=list.item(i);
if (node!=null) {
NodeList child=node.getChildNodes();
for (int j = 0; j < child.getLength(); j++) {
Node n=child.item(j);
//获取属性名称文本
if (n.getNodeType()==Node.ELEMENT_NODE) {
//获取节点名称
System.out.println(n.getNodeName());
//获取这个节点值
System.out.println(n.getFirstChild().getNodeValue());
//获取节点的的值下的所有文本
System.out.println(n.getTextContent());
}
}
}
}
}
}
}
}