java 之 XML DOM解析

本文主要讲解如何解析一个简单的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似懂非懂的友友们可用作参考,感谢大家支持!!


          

        


你可能感兴趣的:(XML解析,java,Dom,java)