xml基本操作

1、什么是 xml?

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

2、xml 的作用?

	1、用来保存数据,而且这些数据具有自我描述性 
	2、它还可以做为项目或者模块的配置文件 
	3、还可以做为网络传输数据的格式
	(传输现在 JSON 为主,json好理解传输速度快)。

3、xml文件声明

<?xml version="1.0" encoding="UTF-8"?> xml 声明。

4、语法规则

4.1 名称可以含字母、数字以及其他的字符
4.2 标签
单标签格式: <标签名 属性=”值” 属性=”值” … />
双标签格式:< 标签名 属性=”值” 属性=”值” …>文本数据或子标签</标签名>
xml标签必须闭合
4.3 一个标签上可以书写多个属性。每个属性的值必须使用 引号 引起来。
XML 标签对大小写敏感
4.4 特殊字符
表示<和>
4.5 文本区域
<![CDATA[ 这里可以把你输入的字符原样显示,不会解析 xml ]]>
文本区域

5、xml的解析(dom4j)

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

import java.util.List;

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

            // 第一步,通过创建 SAXReader 对象。来读取 xml 文件,获取 Document 对象
            SAXReader reader = new SAXReader();
            Document document = reader.read("src/test_book.xml");

            // 第二步,通过 Document 对象。拿到 XML 的根元素对象
            Element root = document.getRootElement();
            // 打印测试 // Element.asXML() 它将当前元素转换成为 String 对象
            System.out.println( root.asXML() );

            // 第三步,通过根元素对象。获取所有的 book 标签对象 // Element.elements(标签名)它可以拿到当前元素下的指定的子元素的集合
            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");
                // 拿到 book 下面的 author 元素对象
                Element authorElement = book.element("author");
                // 再通过 getText() 方法拿到起始标签和结束标签之间的文本内容
                System.out.println("书名" + nameElement.getText() + " , 价格:" + priceElement.getText() + ", 作者:" + authorElement.getText());
            }
        }
        }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值