XML学习总结

XML简介和作用

简介:XMl是可扩展的标记性语言。
主要作用:
1.用来保存数据,而且这些数据具有自我描述性。
2.还可以作为项目或者模块的配置文件。
3.还可以作为网络传输数据的格式。

XML语法

文档声明

创建一个XMl文件

在这里插入图片描述
在这里插入图片描述
代码如下:
<?xml version="1.0" encoding="UTF-8"?> <books> <book sn="SN12341232"> <name>辟邪剑谱</name> <price>9.9</price> <author>班主任</author> </book> <book sn="SN12341231"> <name>葵花宝典</name> <price>99.99</price> <author>班长</author> </book> </books>
其中:<?xml version="1.0" encoding="UTF-8"?>是 xml 声明。
version 是版本的意思,encoding 是编码。

文档注释

XML标签

单标签
格式: <标签名属性=”值” 属性=”值” … />
双标签
格式:< 标签名属性=”值” 属性=”值” …>文本数据或子标签</标签名>

XML语法规则

1.所有XML元素都必须有关闭标签
2.XML标签对大小写敏感
3.XML必须正确嵌套
4.XML的属性值须加双引号
4.XML文档必须有根元素
根元素是没有父标签的顶级元素,而且是唯一一个才行
在这里插入图片描述

XML解析技术

XML是可扩展的标记语言,可以用dom(标签为对象)技术来解析。

在这里插入图片描述

dom4j解析技术(重点)

Dom4j类库的使用

在这里插入图片描述
解压后得到:
在这里插入图片描述

dom4j编程步骤.

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

获取document对象

创建h一个lib目录,并添加dom4j的jar包。并添加到类路径。
在这里插入图片描述

解析示例

解析文件books.xml

<?xml version="1.0" encoding="UTF-8"?>
<books>
    <book sn="SN12341232">
        <name>辟邪剑谱</name>
        <price>9.9</price>
        <author>班主任</author>
    </book>
    <book sn="SN12341231">
        <name>葵花宝典</name>
        <price>99.99</price>
        <author>班长</author>
    </book>
</books>

解析流程:

第一步,通过创建SAXReader 对象。来读取xml 文件,获取Document 对象
SAXReader reader = new SAXReader();
Document document = reader.read("src/books.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、付费专栏及课程。

余额充值