JAVA——解析xml文件

79 阅读1分钟

import java.io.File;
import org.dom4j.DocumentException;
import org.dom4j.Document;
import org.dom4j.io.SAXReader;
import org.dom4j.Element;
import java.util.List;
public class DOM4JParese{
    public static void main(String[] args){
        //1,创建DOM4J解析器对象
        SAXReader reader = new SAXReader();
        //2,向解析器对象传入一个需要被解析的XML文件
        Docucument document = reader.read(new File("users.xml"));//document就是xml文件的对象,根节点
        
        //3,获取xml文件的根节点
        Element root=document.getRootElement();//root=users
        //4,获取root下的所有子元素
        List<Element> childElements root.elements();//list里由user的所有标签对象
        //5,遍历其中每一个结点元素
        for(Element child : childElements){//child=users
         //   System.out.print(child.asXML());
         //获取每一个结点属性列表
         List<Attribute> attList= child.attributes();
         for(Attribute att : attList){
             System.out.print(att.getName()+":"+att.getValue());
         }
         
         //获取指定属性值
         System.out.print("id"+":"+child.attributeValue("id"));
         
         //获取子元素
         List<Element> elements=child.elements();
         for(Element ele : elements){
              System.out.println(ele.getName()+":"+ele.getText());
         }
         //获取指定的元素
          System.out.println("name"+":"+child.element("name").getText());
        }
    }
}

import java.io.File;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Elenent

public class JSoupParese{
    public static void main(String[] args){
        //1,获取xml文件的documment对象
        Document document = Jsop.parse(new File("users.xml"),"utf-8");
        //获取单一一个标签元素对象,只能通过id属性来获得xml/html中每一个标签都可以定义id属性但是值唯一
        //Elenent element=document.getElementById("1");
        
        //获取所有名称为user的标签对象,elements 本质上是一个列表
        Elenents elements=document.getElementsByTag("user");
        for(Element element:elements){
           // System.out.println(element);
           //当前element的子标签元素结点Node的个数(包含空格),换行也是元素
         //  element.childNodeSize();
         
         Elenents elenents2 = elenent.children();
         for(Elenents elenent2:elenents2){
             System.out.println(elenent2.html());
         }
        }
            //document.获取所有的age标签.获取第三个.获取其值。    System.out.println(document.getElementsByTag("age").get(2).html());
         
    }
}