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保存到指定文件中

相关推荐
CircleMouse6 分钟前
springboot如何通过提供的注解方式来操作Redis
java·spring boot·redis·spring·mybatis
进取星辰9 分钟前
28、动画魔法圣典:Framer Motion 时空奥义全解——React 19 交互动效
前端·react.js·交互
阿海打酱油10 分钟前
idea经常卡顿解决办法
java·ide·intellij-idea
君鼎20 分钟前
IO复用详解——C/C++
开发语言·c++
Clown9525 分钟前
go-zero(十八)结合Elasticsearch实现高效数据检索
开发语言·elasticsearch·golang
愚润求学25 分钟前
【Linux】动静态库的使用
linux·运维·服务器·开发语言·c++·笔记
bing_15827 分钟前
Spring Boot 项目中什么时候会抛出 FeignException?
java·spring boot·后端
m0_7390300030 分钟前
电脑自带画图工具,提取颜色
css
写代码写到手抽筋35 分钟前
C++性能优化之访存优化(未完)
开发语言·c++
Dovis(誓平步青云)1 小时前
基于面向对象设计的C++日期推算引擎:精准高效的时间运算实现与运算重载工程化实践
开发语言·c++·经验分享·笔记