zoukankan      html  css  js  c++  java
  • Dom4j解析xml

    1、为什么使用dom4j解析xml

      DOM4J 表现更优秀,具有性能优异、功能强大和极端易用使用

    2、所需jar包

      dom4j-1.6.1.jar

    3、使用方法

    <?xml version="1.0" encoding="UTF-8"?>
    <books id="book" bean="b">
        <book name="java">
            <author>黄观众</author>
            <price>10</price>
            <publisher>中国人民出版社</publisher>
        </book>
        <book name="javascript">
            <author>任先琪</author>
            <price>20</price>
            <publisher>中国人民出版社</publisher>
        </book>
    </books>
     1 package com;
     2 
     3 import java.io.InputStream;
     4 import java.util.Iterator;
     5 import java.util.List;
     6 
     7 import org.dom4j.Attribute;
     8 import org.dom4j.Document;
     9 import org.dom4j.Element;
    10 import org.dom4j.io.SAXReader;
    11 
    12 public class ParseXml {
    13     
    14     public static void main(String[] args) throws Exception {
    15         SAXReader sax = new SAXReader();
    16         //获取文件流
    17         InputStream is = ParseXml.class.getClassLoader().getResourceAsStream("test.xml");
    18         Document doc = sax.read(is);
    19         //获取文档跟元素对象
    20         Element root = doc.getRootElement();
    21         //获取根元素的名称、属性
    22         System.out.println(root.getName());
    23         //获取跟元素中的所有属性 方式一
    24         List<Attribute> attrlist = root.attributes();
    25         for(Attribute attr:attrlist){
    26             System.out.println(attr.getName()+":"+attr.getValue());
    27         }
    28         //获取跟元素中的所有属性 方式二
    29         Iterator<Attribute> it = root.attributeIterator();
    30         while(it.hasNext()){
    31             Attribute attr = it.next();
    32             System.out.println(attr.getName()+":"+attr.getValue());
    33         }
    34         //知道属性名称的情形下获取属性
    35         System.out.println(root.attributeValue("id"));
    36         System.out.println(root.attributeValue("bean"));
    37         //获取属性的个数
    38         System.out.println(root.attributeCount());
    39         
    40         /*************************************************/
    41         
    42         //获取该节点下的所有子元素 方式一
    43         List<Element> elelist = root.elements();
    44         for(Element e:elelist){
    45             System.out.println(e.getName());
    46         }
    47         //获取该节点下的所有子元素 方式二
    48         Iterator<Element> eleit = root.elementIterator();
    49         while(eleit.hasNext()){
    50             Element attr = eleit.next();
    51             System.out.println(attr.getName());
    52         }
    53         //知道元素名称的时候获取该元素
    54         Element ele = root.element("book");
    55         System.out.println(ele.getName());
    56         //获取元素文本内容
    57         String author = ele.elementText("author");
    58         System.out.println(author);
    59         //获取元素后获取文本
    60         String eletext = ele.element("author").getText();
    61         System.out.println(eletext);
    62         //node
    63         System.out.println(root.node(1).getName());
    64         System.out.println(root.node(3).getName());
    65         
    66     }
    67 
    68 }
  • 相关阅读:
    nginx部署vue工程和反向代理nodejs工程
    memcache 原理 & 监测 & 查看状态 & stats & 结构
    CRT(secureCRT)中文显示研究&Linux中文字符显示
    Linux rz的使用
    htmlspecialschars与htmlentities的区别
    ie下php session不能用(域名的合法定义)
    常用生产环境的PHP安装参数
    XMLREADER/DOM/SIMPLEXML 解析大文件
    Linux中的小括号和大括号,${}/$()/()/{}/${var:-string}/${var:=string}/${var:+string}/${var:?string}/${var%pattern}/${var#pattern}/${var%%pattern}/${var##pattern}
    好用的window命令
  • 原文地址:https://www.cnblogs.com/Wen-yu-jing/p/3816145.html
Copyright © 2011-2022 走看看