悠悠楠杉
XML入门20问:从零开始掌握数据标记语言
xml
<book>
<title>XML入门指南</title>
<author>张三</author>
<price currency="CNY">49.00</price>
</book>
二、XML有哪些典型应用场景?
- 数据交换:企业系统间传输订单、发票等结构化数据
- 配置文件:如Spring框架的applicationContext.xml
- 文档存储:Office 2007后.docx/.xlsx文件实际是ZIP打包的XML集合
- Web服务:SOAP协议的基础格式
三、XML基础语法规则
这些规则必须牢记(新手常踩坑的点):
- 必须有根元素:整个文档必须包含在单个根标签中
- 区分大小写:
<Book>
和<book>
是不同的标签 - 属性值加引号:
<note id="1001">
正确,<note id=1001>
错误 - 闭合所有标签:空标签需用
<br/>
形式
xml
<!-- 正确示例 -->
<employees>
<employee id="101">
<name>李四</name>
<department>财务部</department>
</employee>
</employees>
四、XML vs JSON 如何选择?
2023年真实项目中的选择建议:
| 特性 | XML优势场景 | JSON优势场景 |
|------------|----------------------------|--------------------------|
| 数据结构 | 需要复杂层级关系/混合内容 | 简单键值对结构 |
| 可读性 | 注释和排版更友好 | 更简洁 |
| 传输效率 | 体积通常较大 | 体积更小,解析更快 |
| 行业规范 | 金融/政府传统系统 | 现代Web/移动端 |
实际建议:对接银行老系统用XML,开发微信小程序用JSON。
五、XML进阶技巧
命名空间管理:避免标签冲突
xml <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr><h:td>单元格</h:td></h:tr> </h:table>
CDATA区块:嵌入特殊字符
```xml
```
- XPath查询:快速定位节点
xpath /bookstore/book[price>35]/title
结语:
XML就像数据世界的"集装箱",虽然新项目可能更多使用JSON,但在传统企业系统和特定领域仍是不可替代的标准。掌握XML能让你在维护老系统或处理特定数据需求时更加从容。建议从编写简单的配置文件开始实践,逐步深入理解其设计哲学。
```