import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class xmlTest {
public static void main(String[] args){
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
//"a.xml"所要读取xml文档的路径
Document doc = db.parse(new File("a.xml"));
Element root = doc.getDocumentElement();
// NodeList nl = root.getChildNodes();
// System.out.println(nl.getLength());
//nodeInfo(root);
//"name"为xml的文档的节点名称
NodeList nl = root.getElementsByTagName("name");
for(int i = 0 ; i < nl.getLength() ; i ++){
System.out.println(nl.item(i).getFirstChild().getNodeValue());
}
} catch (Exception e) {
e.printStackTrace();
}
}
//读取文档数据
public static void nodeInfo(Node node){
short nodeType = node.getNodeType();
switch(nodeType){
case Node.ATTRIBUTE_NODE:
System.out.println(node.getNodeName() + "+++" + node.getNodeValue());
break;
case Node.ELEMENT_NODE:
System.out.println(node.getNodeName() + "+++" + node.getNodeValue());
if(node.hasAttributes()){
NamedNodeMap nnm = node.getAttributes();
for(int i = 0 ; i < nnm.getLength() ; i ++){
System.out.println(nnm.item(i));
}
}
break;
case Node.TEXT_NODE:
System.out.println(node.getNodeName() + "+++" + node.getNodeValue());
break;
}
Node cnode = node.getFirstChild();
while(cnode != null){
nodeInfo(cnode);
cnode = cnode.getNextSibling();
}
}
}