码迷,mamicode.com
首页 > 其他好文 > 详细

XML的解析

时间:2019-01-13 17:15:26      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:解析xml   1.2   ide   saxreader   span   ESS   mod   throws   pen   

1 XML解析,xml解析其实就是获取元素里面的字符数据或者属性数据

  1.1 DOM解析,document object model把整个xml全部读到内存中,形成树桩结构。整个文档称之为document对象。属性对应Attribute对象,所有的元素节点对应Element对象,文本也可以称之为Text对象那个,以上所有对象都称之为Node节点,如果xml特别大,那么将会造成内存溢出,可以对文档进行增删操作

  1.2 SAX解析:Simple API for xml基于事件驱动,读取一行,解析一行,不会造成内存溢出,不可用进行增删,只能查询

  1.3 dom4j 解析xml

    <dependency>
        <groupId>dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>1.6.1</version>
    </dependency>
    <dependency>
        <groupId>jaxen</groupId>
        <artifactId>jaxen</artifactId>
        <version>1.1.1</version>
    </dependency>

 

    

    @Test
    public void test1() throws DocumentException {
        //创建SAX读取对象
        SAXReader saxReader = new SAXReader();
        //指定解析的xml文件
        Document document = saxReader.read(new File("C:\\work\\IDEAWorkSpace\\web\\web\\web_09\\src\\main\\resources\\stus.xml"));
        System.out.println(document);
        //得到根元素
        Element rootElement = document.getRootElement();
        //获取根元素下面的所有子元素
        List<Element> elements = rootElement.elements();
        //遍历所有的stu元素
        for (Element element : elements) {
            System.out.println(element.element("name").getText());
            System.out.println(element.element("age").getText());
            System.out.println(element.element("address").getText());
        }


    }

    @Test
    public void test2() throws DocumentException {
        //创建SAX读取对象
        SAXReader saxReader = new SAXReader();
        //指定解析的xml文件
        Document document = saxReader.read(new File("C:\\work\\IDEAWorkSpace\\web\\web\\web_09\\src\\main\\resources\\stus.xml"));
        System.out.println(document);
        //得到根元素
        Element rootElement = document.getRootElement();

        Element element = (Element) rootElement.selectSingleNode("//name");
        System.out.println(element.getText());

        List<Element> list = rootElement.selectNodes("//name");

        for (Element element1 : list) {
            System.out.println(element1.getText());
        }

 

XML的解析

标签:解析xml   1.2   ide   saxreader   span   ESS   mod   throws   pen   

原文地址:https://www.cnblogs.com/haizhilangzi/p/10263087.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!