学习博客:javaweb---读取xml的元素和属性案例

	 这个案例需要自行导入Dom4j的包,然后就可以使用java读取xml标签和标签属性信息了。

xml代码

<?xml version="1.0" encoding="utf-8" ?>
    <books>
        <book sn="zsp1">
            <name>时间简史</name>
            <author>霍金</author>
            <price>75</price>
        </book>
        <book sn="zsp2">
            <name>平凡的世界</name>
            <author>路遥</author>
            <price>70</price>
        </book>
    </books>
package cn.zsp.pojo;

public class Book {
    private String sn ;
    private String name ;
    private String author;
    private double price ;

    public Book() {
    }
    public Book(String sn, String name, String author, double price) {
        this.sn = sn;
        this.name = name;
        this.author = author;
        this.price = price;
    }

    @Override
    public String toString() {
        return "Book{" +
                "sn='" + sn + '\'' +
                ", name='" + name + '\'' +
                ", author='" + author + '\'' +
                ", price=" + price +
                '}';
    }
}

package cn.zsp.pojo;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;

import java.util.List;

public class Dom4jTest {
    @Test
    public  void test1()   {

        SAXReader saxReader=new SAXReader();
        Document document= null;
        try {
            document = saxReader.read("src/books.xml");
        } catch (DocumentException e) {
            e.printStackTrace();
        }
    }
    @Test
    public void test2() throws DocumentException {
        SAXReader saxReader=new SAXReader();
        //1读取books. xml文件
        Document document=saxReader.read("src/books.xml");
        //2通过Document对象获取根元素
        Element rootElement = document.getRootElement();

        List <Element>elements = rootElement.elements("book");
        //3通过根元素获取book标签对象

        for (Element book: elements)
        {   //asXML()把标签对象。转换为标签字符串
            //System.out.println(book.asXML());
            Element nameElement = book.element("name");
            //getText();可以获取标签中的文本内容
            String name =nameElement.getText();
            //System.out.println(name);

            //elementText直接获取指定标签名的文本内容
            String price =book.elementText("price");
            //System.out.println(price);
            String author =book.elementText("author");
            String sn = book.attributeValue("sn");
            System.out.println(new Book(sn,name,author,
                    Double.parseDouble(price)));
        }

        //4遍历,处理每Tbook标签转换为Book类

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值