xml转json
函数名:json_xml2json / json_XmlToJson
功能描述
将 XML 字符串或 XML 文件转换为 JSON 格式,支持文件路径或直接文本输入,可配置是否格式化输出。
会员等级:🟢 免费版(Free)
语法
excel
=json_xml2json(XML字符串/文件路径, 格式化输出)参数
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| XML字符串/文件路径 | String | 是 | - | 有效的 XML 字符串,或 XML 文件的绝对/相对路径。文件存在时按文件读取 |
| 格式化输出 | Boolean | 否 | TRUE | TRUE 为缩进格式化输出,FALSE 为紧凑单行输出 |
返回值
String - 转换后的 JSON 字符串。
使用示例
XML 字符串转 JSON(格式化)
公式:
excel
=json_xml2json("<root><name>张三</name><age>25</age></root>")结果:
json
{
"root": {
"name": "张三",
"age": "25"
}
}紧凑输出
公式:
excel
=json_xml2json("<root><name>张三</name><age>25</age></root>", FALSE)结果:
json
{"root":{"name":"张三","age":"25"}}从 XML 文件转换
公式:
excel
=json_xml2json("D:\data\config.xml")结果:
json
{
"config": {
"setting": "value",
"enabled": "true"
}
}技术说明
- 当输入为已存在的文件路径时,使用
File.ReadAllText以 UTF-8 编码读取。 - 使用
XmlDocument.LoadXml加载 XML,再通过JsonConvert.SerializeXmlNode转换为 JSON。 格式化输出为 TRUE 时使用Formatting.Indented,为 FALSE 时使用Formatting.None。- 转换规则遵循 Newtonsoft.Json 的 XML 转 JSON 约定:XML 属性以
@前缀表示,多个同名节点自动转为数组,文本节点以#text表示。
错误处理
| 错误场景 | 返回值 |
|---|---|
| XML 内容为空 | 错误:XML内容不能为空 |
| XML 格式错误(XmlException) | XML格式错误: |
| 文件操作错误(IOException) | 文件操作错误: |
| 其他异常 | 转换失败: |