xml基础

1.xml

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

特点

XML与操作系统、编程语言的开发平台无关

实现不同系统之间的数据交换

作用

数据交互

配置应用程序和网站

Ajax基石

1.1xml文档结构
java 复制代码
<?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>
1.2XML标签

XML文档内容由一系列标签元素组成

java 复制代码
<元素名 属性名="属性值">元素内容</元素名>

属性值用双引号包裹

一个元素可以有多个属性

属性值中不能直接包含<、"、&

不建议使用的字符:'、>

1.3xml编写注意事项

所有XML元素都必须有结束标签

XML标签对大小写敏感

XML必须正确的嵌套

同级标签以缩进对齐

元素名称可以包含字母、数字或其他的字符

元素名称不能以数字或者标点符号开始

元素名称中不能含空格

2.XML解析器

解析器类型

​ 非验证解析器

​ 检查文档格式是否良好

验证解析器

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

2.1解析XML技术

DOM

​ 基于XML文档树结构的解析

​ 适用于多次访问的XML文档

​ 特点:比较消耗资源

SAX

​ 基于事件的解析

​ 适用于大数据量的XML文档

​ 特点:占用资源少,内存消耗小

DOM4J

​ 非常优秀的Java XML API

​ 性能优异、功能强大

​ 开放源代码

3.DOM

DOM介绍

文档对象模型(Document Object Model)

DOM把XML文档映射成一个倒挂的树

常用接口介绍DOM解析包:org.w3c.dom

常用接口 常用方法 说明
Document:表示整个 XML 文档 NodeList getElementsByTagName(String Tag) 按文档顺序返回文档中指定标记名称的所有元素集合
Document:表示整个 XML 文档 Element createElement(String tagName) 创建指定标记名称的元素
Node:该文档树中的单个节点 NodeList getChildNodes() 获取该元素的所有子节点,返回节点集合
Element:XML 文档中的一个元素 String getTagName() 获取元素名称
3.1访问DOM树节点

DOM解析XML文件步骤

1.创建解析器工厂对象

2.解析器工厂对象创建解析器对象

3.解析器对象指定XML文件创建Document对象

4.以Document对象为起点操作DOM树

3.2保存xml文件

1.获得TransformerFactory对象

2.创建Transformer对象

3.创建DOMSource对象

​ 包含XML信息

4.设置输出属性

​ 编码格式

5.创建StreamResult对象

​ 包含保存文件的信息

6.将XML保存到指定文件中

相关推荐
腾讯TNTWeb前端团队3 小时前
helux v5 发布了,像pinia一样优雅地管理你的react状态吧
前端·javascript·react.js
mghio5 小时前
Dubbo 中的集群容错
java·微服务·dubbo
范文杰6 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪7 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪7 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy7 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom8 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom8 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom8 小时前
React与Next.js:基础知识及应用场景
前端·面试·github