首页 > 代码库 > parse xml document using dom method
parse xml document using dom method
the bookstore.xml:
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book id="1">
<bookname>weicheng</bookname>
<author>qianzhongshu</author>
</book>
<book id="2" value="http://www.mamicode.com/2_2">
<bookname>yidoudewunv</bookname>
<author>chuangduankangcheng</author>
</book>
<book id="3" class="3_3">
<bookname>a song of ice and fire</bookname>
<author>george martin</author>
</book>
</bookstore>
package com.user;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class Bookstore {
public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException {
// TODO Auto-generated method stub
NodeList nodeList=DocumentBuilderFactory.newInstance().
newDocumentBuilder().parse("src/com/user/Bookstore.xml").getElementsByTagName("book");
System.out.println("There are "+nodeList.getLength()+" books");
for(int i=0;i<nodeList.getLength();i++){
System.out.println("======"+(i+1)+" ");
Node node=nodeList.item(i);
NamedNodeMap nameNodeMap=node.getAttributes();
NodeList childnodeList=node.getChildNodes();
for(int j=0;j<nameNodeMap.getLength();j++){
Node nodeMap=nameNodeMap.item(j);
System.out.println(nodeMap.getNodeName()+": "+nodeMap.getNodeValue());
}
for (int k=0;k<childnodeList.getLength();k++){
Node childNode=childnodeList.item(k);
if (childNode.getNodeType()==Node.ELEMENT_NODE){
System.out.println(childNode.getNodeName()+": "+childNode.getFirstChild().getNodeValue());
}
}
System.out.println(" "+(i+1)+"------");
}
}
}
run the java program:
parse xml document using dom method