本文主要讲解如何解析一个简单的XML文档:假设有一个XML文档:xxx.xml
1、File f = "xxx.xml"; 或者 URL url = ".....xml";
首先通过DocumentBuilderFactory得到一个DocumentBuilder对象,然后通过parse(xxx.xml)方法解析成Document对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(f); // builder.parse(url)
2、获取XML的Element节点: Element root = document.getDocumentElement(); 通俗解释:每一个Element 都是一个标签的对象,其中包含了自己对应标签的所有信息。PS:通过root.getTagName()可以得到该标签的名字(String);
3、通过root.getChildNodes()得到该标签的子标签,返回值为NodeList的集合;
NodeList nodeList = root.getChildNodes();
for(int i = 0; i < nodeList.getLenth(); i++){
//获取到子标签,可能会有空白符
Node node = nodeList.item(i);
//如果不希望出现空白符
if(node instanceof Element){
Element childElement = (Element)node;
}
.............
}
4、拿到子标签集合(NodeList) 后,可以在其中实现自己的逻辑,例如:使用String.equals(elementChild.getTagName)来判定节点逻辑,Node.getNextSibing来获取下一个节点;NamedNodeMap attrs = element.getAttributes()来获取属性集,然后在遍历中用Node.getNodeName()和getNodeValue()来获取属性名和属性值;如果您知道属性名,则可以通过element.getAttrbute(attrName)来获取属性
5、好了,本文浅显易懂,只提供思路和部分代码,对于xml似懂非懂的友友们可用作参考,感谢大家支持!!