zoukankan      html  css  js  c++  java
  • Dom4j解析xml内容——(三)

    Dom4j取标签中的内容用 getText ,取开始标签和结束标签之间的值。

    取属性值有两种方式:

    Jar包:

    XML原型:

    <?xml version="1.0" encoding="utf-8"?>
    
    <书架> 
      <> 
        <书名>Java高级</书名>  
        <作者>武陟县</作者>  
        <价格>200元</价格>  
      </>  
      <> 
        <书名 name="xxxxxxxxxxx">Java中级</书名>  
        <作者>打火机</作者>  
        <价格>2000元</价格> 
      </> 
    </书架>

    Java类

     1 package Dom4j_XMLParser;
     2 
     3 import java.io.File;
     4 
     5 import org.dom4j.Attribute;
     6 import org.dom4j.Document;
     7 import org.dom4j.DocumentException;
     8 import org.dom4j.Element;
     9 import org.dom4j.io.SAXReader;
    10 import org.junit.Test;
    11 
    12 public class Demo1 {
    13 
    14 //    获取第二本书的书名
    15     @Test
    16     public void test1() throws Exception {
    17 //        创建SAX读取器
    18         SAXReader reader = new SAXReader();
    19 //        加载文档
    20         Document document = reader.read(new File("src/book.xml"));
    21 //        获取根节点(书架)
    22         Element root =  document.getRootElement();
    23 //        获取根节点下的书节点,带s返回一个数组,再取数组的第二个
    24         Element book = (Element) root.elements("书").get(1);
    25 //        获取树下面的书名属性
    26         Element shuming = book.element("书名");
    27 //        获取书名开始标签与结束标签之间的值
    28         String value = shuming.getText();
    29         System.out.println(value);
    30         
    31     }
    32     
    33     
    34 //    获取第二本书的书名中的属性  <书名 name="xxxxxxxxxxx">Java中级</书名>
    35     @Test
    36     public void test2() throws Exception {
    37         SAXReader reader = new SAXReader();
    38         Document document = reader.read(new File("src/book.xml"));
    39         Element root =  document.getRootElement();
    40         
    41         Element book = (Element) root.elements("书").get(1);
    42         Element shuming = book.element("书名");
    43         
    44 //        第一中方法
    45 //        获取name属性
    46         Attribute attribute = shuming.attribute("name");
    47 //        获取name属性的值
    48         String attrValue = attribute.getValue();
    49 //        获取书名开始标签与结束标签之间的值
    50         System.out.println(attrValue);   //xxxxxxxxx
    51         
    52 //        第二种方法(获取书名节点的name属性的值)
    53         System.out.println(shuming.attributeValue("name"));  //xxxxxxxx
    54         
    55     }
    56 }
  • 相关阅读:
    内存分配小问题
    从MACHINE_START开始
    Linux驱动学习(二)
    9,斐波那契数列 6,旋转数组找最小 8青蛙跳台阶 JAVA实现
    数组练习题
    类的练习
    for循环练习题
    封装练习题
    Facebook成为Apache基金会的白金赞助商
    Visual Studio 2010
  • 原文地址:https://www.cnblogs.com/qlqwjy/p/7279084.html
Copyright © 2011-2022 走看看