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

相关推荐
洗发水很好用4 分钟前
新版IDEA提示@Autowired不建议字段注入
java·ide·intellij-idea
model20056 分钟前
sahi目标检测java实现
java·算法·目标检测
LG.YDX29 分钟前
java:练习
java
美若黎明@31 分钟前
C# 路径操作
开发语言·c#
给自己做减法42 分钟前
排序算法快速记忆
java·算法·排序算法
史努比的大头1 小时前
前端开发深入了解webpack
前端
Dovir多多1 小时前
渗透测试入门学习——php与mysql数据库连接、使用session完成简单的用户注册、登录
前端·数据库·后端·mysql·安全·html·php
难以触及的高度1 小时前
source ~/.bash_profile有什么用
开发语言·bash
B.-1 小时前
Remix 学习 - @remix-run/react 中主要的 hooks
前端·javascript·学习·react.js·web
计算机学姐1 小时前
基于微信小程序的食堂点餐预约管理系统
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis