java对XML文件解析

Dom4j 基本用法

<persons>

          <person>

                <name>小明<name>

                <age>11</age>

           </person>

</perons>

element.element("person") : 返回该元素下的第一个person元素

element.elements(); 返回该元素下的所有子元素。 

1. 创建SaxReader对象

2. 指定解析的xml

3. 获取根元素。

4. 根据根元素获取子元素或者下面的子孙元素


        try {
            //1. 创建sax读取对象
            SAXReader reader = new SAXReader(); 
            //2. 指定解析的xml源
            Document  document  = reader.read(new File("src/xml/person.xml"));  
            //3. 得到元素、
            //得到根元素
            Element rootElement= document.getRootElement(); 
            //获取根元素下面的子元素 age


             //rootElement.element("age") 
            //System.out.println(rootElement.element("person").element("age").getText());


            //获取根元素下面的所有子元素 。 stu元素
            List<Element> elements = rootElement.elements();
            //遍历所有的stu元素
            for (Element element : elements) {
                //获取stu元素下面的name元素
                String name = element.element("name").getText();
                String age = element.element("age").getText();
               
                System.out.println("name="+name+"==age+"+age);
            
        } catch (Exception e) {
            e.printStackTrace();
        }

Xpath 

 xpath是xml的路径语言,支持我们在解析xml的时候,能够快速的定位到具体的某一个元素

1. 添加jar包依赖 

   jaxen-1.1-beta-6.jar

2. 在查找指定节点的时候,根据XPath语法规则来查找

3. 后续的代码与以前的解析代码一样。

            //要想使用Xpath, 还得添加支持的jar 获取的是第一个 只返回一个。 
            Element nameElement = (Element) rootElement.selectSingleNode("//name");
            System.out.println(nameElement.getText());


         

            //获取文档里面的所有name元素 
            List<Element> list = rootElement.selectNodes("//name");
            for (Element element : list) {
                System.out.println(element.getText());
            }

猜你喜欢

转载自blog.csdn.net/weixin_40236948/article/details/81331818