zoukankan      html  css  js  c++  java
  • dom4j操作xml

    关于xml的schema约束,参考:

    https://www.cnblogs.com/wenbronk/p/5786009.html

    web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://www.example.org/web-app_2_5"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.example.org/web-app_2_5 web-app_2_5.xsd"
        version="2.5">
    
        <servlet>
            <servlet-name>helloServlet</servlet-name>
            <servlet-class>hello</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>helloServlet</servlet-name>
            <url-pattern>/hello</url-pattern>
        </servlet-mapping>
    </web-app>

    引入dom4j 

    https://dom4j.github.io/

    引入jaxen

    http://www.java2s.com/Code/Jar/j/Downloadjaxen112jar.htm

    测试:

    package cn.sasa.xmltest;
    
    import java.util.List;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    public class TestDom4j {
    
        public static void main(String[] args) {
            //获取解析器
            SAXReader reader = new SAXReader();
            try {
                //获取document
                Document doc = reader.read("src/cn/sasa/xmltest/web.xml");
                //获取根节点
                Element element = doc.getRootElement();
    //            System.out.println(element.getName());
    //            System.out.println(element.attributeValue("version"));
                //获取子元素
                List<Element> chilList = element.elements();
                for(Element e : chilList) {
                    //System.out.println(e.getName());
                    if("servlet".equals(e.getName())) {
                        Element eName = e.element("servlet-name");
                        Element eClass = e.element("servlet-class");
                        System.out.println(eName.getName()+":"+eName.getText());
                        System.out.println(eClass.getName()+":"+eClass.getText());
                    }
                }
            } catch (DocumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
  • 相关阅读:
    Maven项目多环境之间的配置文件的切换
    使用vue脚手架快速创建vue项目(入门)
    SpringAOP之使用切入点创建通知
    epoll的陷阱
    epoll-1
    openSUSE Leap 15格式化挂载新分区
    openSUSE Leap 15取消自动登录
    openSUSE Leap 15通过windows rdp访问
    openSUSE Leap 15安装打开ssh
    数组、函数与指针
  • 原文地址:https://www.cnblogs.com/SasaL/p/10571695.html
Copyright © 2011-2022 走看看