XML(可扩展标记语言)是 W3C 于 1998 年发布的标记语言标准,用成对的标签描述数据结构,例如 <name>张三</name>。下面重点说明从概念到动手操作。
XML入门教程
XML 解析分两类:DOM 解析把整个文档读成一棵树,适合小文件和随机访问;SAX/StAX 流式解析边读边处理,适合大文件。解析器发现标签未闭合、嵌套交错等问题时会报“格式不良(not well-formed)”。
- 打开本站 XML/JSON 互转工具,粘贴 XML
- 点击转换得到 JSON,查看层级结构
- 需要反向转换时粘贴 JSON 转为 XML
- 核对属性和同名元素的转换结果
示例
输入:<book id="7"><title>诗经</title><price>29.8</price></book>
XML 转 JSON结果:
{
"book": {
"@id": "7",
"title": "诗经",
"price": "29.8"
}
}
说明:属性加 @ 前缀,同名子元素合并为数组(常见约定)。
常见报错
- XML parsing error: not well-formed:标签未闭合或交错嵌套
- junk after document element:有多个根元素
- undefined entity:使用了 等 HTML 实体,XML 只预定义了 5 个
- Invalid byte 1 of 1-byte UTF-8 sequence:文件实际编码与声明不一致
怎样核对结果
检查 XML:先确认“格式良好”(xmllint --noout),再按 XSD 或 DTD 检查“有效性”。
本站的XML/JSON互转工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【XML 转 JSON 属性怎么表示?】常见约定是在属性名前加 @,文本内容用 #text 表示。
【XML 文件开头的声明必须写吗?】不是必须的,没有声明时默认 XML 1.0、UTF-8。
【什么是 XXE?】XML 外部实体注入,攻击者通过 DOCTYPE 引用本地文件或内网地址,解析时应禁用外部实体。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。
标签: 文本处理