JAVA高级第十章 XML

发布于:2025-08-13 ⋅ 阅读:(14) ⋅ 点赞:(0)

1.XML简介

XML(EXtensible Markup Language),可扩展标记语言

特点

XML与操作系统、编程语言的开发平台无关
实现不同系统之间的数据交换

作用

数据交互
配置应用程序和网站
Ajax基石

2.XML文档结构

<?xml version="1.0" encoding="UTF-8"?>
<books>
    <!--图书信息 -->
    <book id="bk101">
        <author>王珊</author>
        <title>.NET高级编程</title>
        <description>包含C#框架和网络编程等</description>
    </book>
    <book id="bk102">
        <author>李明明</author>
        <title>XML基础编程</title>
        <description>包含XML基础概念和基本作用</description>
    </book>
</books>

3.XML标签

XML文档内容由一系列标签元素组成
<元素名 属性名=“属性值”>元素内容</元素名>

空元素:
<name>  </name>
<name></name>
<name/>

  • 属性值用双引号包裹
  • 一个元素可以有多个属性
  • 属性值中不能直接包含<、“、&
  • 不建议使用的字符:‘、>

4.XML编写注意事项

  • 所有XML元素都必须有结束标签
  • XML标签对大小写敏感
  • XML必须正确的嵌套
  • 同级标签以缩进对齐
  • 元素名称可以包含字母、数字或其他的字符
  • 元素名称不能以数字或者标点符号开始
  • 元素名称中不能含空格

5.属性命名空间

<?xml version="1.0" encoding="UTF-8"?>
<batchCompany xmlns="http://www.Aptech_edu.ac"
    xmlns:tea="http://www.tea.org">
    <batch-list>
        <batch type="thirdbatch">第三批次</batch>
        <batch tea:type="thirdbatch">第三批茶</batch>
        <batch>午班批次</batch>
    </batch-list>
</batchCompany>

除非带有前缀,否则属性属于所属的元素的命名空间

6.XML解析器

解析器类型

非验证解析器

  • 检查文档格式是否良好

验证解析器

  • 使用DTD检查文档的有效性

7.XML命名空间

XML命名空间的作用

解决在复杂、大型XML文件中,出现名称相同,但是含义不同的元素

<?xml version="1.0" encoding="UTF-8"?>
<cameras xmlns:canon="http://www.canon"
    xmlns:nikon="http://www.nikon.com">
    <canon:camera prodID="P663" name="Camera傻瓜相机"/>
    <nikon:camera prodID=“K29B3” name=“Camera超级35毫米相机"/>
</cameras>

8.解析XML技术

DOM

  • 基于XML文档树结构的解析
  • 适用于多次访问的XML文档
  • 特点:比较消耗资源

SAX

  • 基于事件的解析
  • 适用于大数据量的XML文档
  • 特点:占用资源少,内存消耗小

DOM4J

  • 非常优秀的Java XML API
  • 性能优异、功能强大
  • 开放源代码

9.DOM解析XML

DOM介绍

文档对象模型(Document Object Model)
DOM把XML文档映射成一个倒挂的树
在这里插入图片描述

10.常用接口介绍

DOM解析包:org.w3c.dom

在这里插入图片描述

11.访问DOM树节点

显示“收藏信息.xml”文件中收藏的手机品牌和型号

<?xml version="1.0" encoding="GB2312"?>
<PhoneInfo>
    <Brand name="华为">
        <Type name="U8650"/>
        <Type name="HW123"/>
        <Type name="HW321"/>
    </Brand>
    <Brand name="苹果">
        <Type name="iPhone4"/>
    </Brand>
</PhoneInfo>

DOM解析XML文件步骤
1.创建解析器工厂对象
2.解析器工厂对象创建解析器对象
3.解析器对象指定XML文件创建Document对象
4.以Document对象为起点操作DOM树

12.保存XML文件

步骤

获得TransformerFactory对象
创建Transformer对象
创建DOMSource对象
包含XML信息
设置输出属性
编码格式
创建StreamResult对象
包含保存文件的信息
将XML保存到指定文件中

13.添加DOM节点

给手机收藏信息XML中添加新的手机信息
添加新的Brand:三星
给Brand节点添加新的子标签Type:Note4
将Brand添加到DOM树中

14.修改/删除DOM节点

给所有的Brand标签添加id属性

  • 获取Brand标签
  • 调用setAttribute()方法添加属性

删除Brand值为“华为”的标签

  • getElementsByTagName()方法获取Brand标签列表
  • 获得Brand值为“华为”的标签对象
  • 通过getParentNode()方法获得父节点对象
  • 调用父节点的removeChild()方法删除节点

网站公告

今日签到

点亮在社区的每一天
去签到