Java打怪之路-----JavaWeb之XML

(一)XML简介

xml 是可扩展的标记性语言。

(二)xml解析技术

2.1什么是xml解析

什么是解析,其实就是能够读取文件中的标签啊,内容啊这些东西。我们可以通过解析xml文件来获取到xml文件中的内容。
xml文件是可以保存数据的,比如保存一个books类,里面有各种属性。通过解析技术,可以将这个类值赋给我们创建的实体类。

2.2dom4j解析技术

2.2.1dom4j 编程步骤:

第一步: 先加载 xml 文件创建 Document 对象
第二步:通过 Document 对象拿到根元素对象
第三步:通过根元素.elelemts(标签名); 可以返回一个集合,这个集合里放着。所有你指定的标签名的元素对象
第四步:找到你想要修改、删除的子元素,进行相应在的操作
第五步,保存到硬盘上

2.2.2遍历 标签 获取所有标签中的内容

需要分四步操作:
第一步,通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象
第二步,通过 Document 对象。拿到 XML 的根元素对象
第三步,通过根元素对象。获取所有的 book 标签对象
第四小,遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素,再通过 getText() 方法拿到起始标签和结
束标签之间的文本内容

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 TestXml {
    
    

    @Test
    public void readXML() throws DocumentException {
    
    
        //创建SAXReader对象 读取xml文件,获取Document对象
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read("src/books.xml");
        //通过ocument对象拿到xml文件根元素对象
        Element root = document.getRootElement();
        // 第三步,通过根元素对象。获取所有的 book 标签对象
        List<Element> books = root.elements("book");
        // 第四步,遍历每个 book 标签对象。然后获取到 book 标签对象内的每一个元素,
        for (Element book : books) {
    
    
            // 测试
// System.out.println(book.asXML());
// 拿到 book 下面的 name 元素对象
            Element nameElement = book.element("name");
// 拿到 book 下面的 price 元素对象
            Element priceElement = book.element("price");
// 再通过 getText() 方法拿到起始标签和结束标签之间的文本内容
            System.out.println("书名" + nameElement.getText() + " , 价格:"
                    + priceElement.getText());


        }
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_44020747/article/details/117125330