XML 文件格式基础
XML(可扩展标记语言)是一种用于存储和传输数据的标记语言,具有自我描述性和平台无关性。其核心特点包括:
- 标签结构:数据由开始标签(如
<tag>)和结束标签(如</tag>)包裹。 - 层次化:支持嵌套标签,形成树状结构。
- 属性:标签可通过属性(如
<tag attr="value">)附加元数据。
XML 文件组成
声明部分
通常以 XML 声明开头,指定版本和编码:
<?xml version="1.0" encoding="UTF-8"?>
根元素
XML 必须有且仅有一个根元素,其他元素均为其子元素:
<root>
<child>Content</child>
</root>
注释
使用 <!-- --> 包裹注释内容:
<!-- 这是一个注释 -->
语法规则
- 严格闭合:所有标签必须闭合(如
<tag></tag>或自闭合<tag/>)。 - 区分大小写:
<Tag>和<tag>视为不同标签。 - 属性值引号:属性值必须用双引号或单引号包裹(如
attr="value")。 - 特殊字符转义:
需转义的字符:&→&<→<>→>"→"'→'
示例文件
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="fiction">
<title lang="en">Harry Potter</title>
<author>J.K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="non-fiction">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
验证与解析
格式验证
可通过 DTD(文档类型定义)或 XSD(XML Schema)验证结构合法性。例如,XSD 片段:
<xs:element name="book">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="author" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
解析工具
常用解析方式包括:
- DOM(文档对象模型):将整个文档加载到内存树中。
- SAX(简单 API for XML):基于事件驱动的流式解析。
应用场景
- 数据交换:如 Web 服务(SOAP)、RSS 订阅。
- 配置文件:如 Java 的
web.xml、Android 布局文件。 - 文档存储:如 Office Open XML(DOCX 格式)。
589

被折叠的 条评论
为什么被折叠?



