一、XML 简介
XML(可扩展标记语言,eXtensible Markup Language)是一种用于存储和传输数据的标记语言,广泛用于配置文件、数据交换、文档存储等领域。XML 拥有良好的平台无关性和可扩展性。
二、XML 使用场景
- Web 服务(如 SOAP)
- 配置文件(如 Maven、Spring 配置)
- 数据存储与传输(替代 JSON)
- Office 文档结构(如
.docx
、.xlsx
)
三、编辑 XML 的工具
3.1 文本编辑器
- VSCode
- 安装 XML Tools 插件;
- 支持格式化、校验、折叠;
- Sublime Text
- 支持语法高亮,可配合插件增强;
- Notepad++
- 轻量易用,内置 XML 支持;
3.2 专业 XML 编辑器
- Oxygen XML Editor(商业软件,功能强大);
- Altova XMLSpy(商业软件);
四、安装 VSCode + XML Tools 插件
- 下载 VSCode:https://code.visualstudio.com/
- 打开插件市场,搜索并安装
XML Tools
; - 支持以下功能:
- XML 语法高亮
- 格式化文档
- 校验结构闭合
- XPath 查询
五、编写第一个 XML 文件
创建 example.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<person>
<name>小奇</name>
<age>25</age>
<city>北京</city>
</person>
六、XML 语法规则
- 所有标签必须闭合;
- 标签必须正确嵌套;
- 文档必须有一个根元素;
- 属性值必须加引号;
七、DTD/XML Schema 验证
7.1 DTD 示例
<!DOCTYPE person [
<!ELEMENT person (name, age, city)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT city (#PCDATA)>
]>
<person>
<name>小奇</name>
<age>25</age>
<city>北京</city>
</person>
7.2 XML Schema (XSD) 示例
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="person">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<xs:element name="city" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
八、使用 Java 读取 XML(Dom 解析示例)
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("example.xml");
NodeList list = doc.getElementsByTagName("name");
System.out.println(list.item(0).getTextContent());
九、常见问题
Q1: XML 显示乱码?
请确认编码格式为 UTF-8
,文件开头声明正确:
<?xml version="1.0" encoding="UTF-8"?>
Q2: 如何格式化 XML?
- 使用编辑器的格式化快捷键(如 VSCode:
Shift + Alt + F
); - 使用在线工具:https://www.freeformatter.com/xml-formatter.html
十、学习资源推荐
- W3School XML 教程
- MDN XML 指南
- Oxygen XML 官网
- B站搜索“小奇Java面试”查看 XML 视频教程
本文由“小奇Java面试”原创发布,转载请注明出处。
可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。