XML是什么 以及它的作用

XML是一种可扩展的标记语言,主要用于保存数据和配置文件,也可在网络传输中作为数据格式。其语法包括文档声明、元素、属性和注释,每个XML文档必须有一个根元素。在解析XML时,DOM4j作为一种流行的第三方解析技术,提供便利的类库进行XML文件处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XML简介

什么是xml?

xml是可扩展的标记性语言

xml的作用

xml的主要作用:

  1. 用来保存数据,而且这些数据具有自我描述性.
  2. 它还可以作为项目或者模板的配置文件
  3. 还可以作为网络传输数据的格式(现在已JSON为主).
    在这里插入图片描述

xml语法

  1. 文档声明
  2. 元素(标签) 什么是xml元素?
    xml元素指的是从(且包括)开始标签直到(且包括)结束标签的部分.
    元素可包含其他元素,文本或者两者的混合物.元素也可以拥有属性.
    例如: java 编程思想
    元素 我们可以简单的理解为是标签 Element翻译 元素
  3. xml属性
  4. xml注释
  5. 语法规则: xml 文档必须有根元素
    根元素就是顶级元素 没有父级标签的元素叫做顶级元素.
    根元素是没有父标签的顶级元素,而且是唯一才行

xml解析技术介绍

xml是可扩展的标记性语言
不管是html文件还是xml文件他们都是标记性文档.都可以使用w3c组织指定的dom技术来解析.
document对象表现的是整个文档(可以是Html文档,也可以是Xml文档)

dom4j解析技术(*********)

dom4j它是第三方的解析技术.我们需要使用第三方给我们提供好的类库才可以解析xml文件
在这里插入图片描述

Book类代码

package books.com.no7;

import java.math.BigDecimal;

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

    public Book() {
    }

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

    public String getSn() {
        return sn;
    }

    public void setSn(String sn) {
        this.sn = sn;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

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

Dom4jTest代码

package books.com.no7;

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 test01() throws DocumentException {
        //创建一个SaxReader输入流,去读取xml配置文件,生成Document对象
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read("src/books/books.xml");
        System.out.println(document);
    }

    /**
     * 读取books.xml文件生成book类
     */
    @Test
    public void test02() throws DocumentException {
        //1,读取books.xml文件
        SAXReader reader = new SAXReader();

        //2.通过document对象获取根元素
        Document document = reader.read("src/books/books.xml");
        //3.通过根元素获取book标签对象
        Element rootElement = document.getRootElement();
        //element()和elements()都是通过标签名查找子元素
        List<Element> books = rootElement.elements("book");
        //4.遍历,处理每个book标签为book类
        for (Element book : books){
            //asXML()把标签对象,转换为标签字符串
            Element nameElement = book.element("name");
            // getText(); 可以获取标签中的文本内容
            String nameText = nameElement.getText();
            //  直接获取指定标签名的文本内容
            String priceText = book.elementText("price");
            String authorText = book.elementText("author");

            String snValue = book.attributeValue("sn");

            System.out.println(new Book(snValue,nameText,Double.parseDouble(priceText),authorText));
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值