Skip to content

xml转json

函数名:json_xml2json / json_XmlToJson

功能描述

将 XML 字符串或 XML 文件转换为 JSON 格式,支持文件路径或直接文本输入,可配置是否格式化输出。

会员等级:🟢 免费版(Free)

语法

excel
=json_xml2json(XML字符串/文件路径, 格式化输出)

参数

参数名类型必填默认值说明
XML字符串/文件路径String-有效的 XML 字符串,或 XML 文件的绝对/相对路径。文件存在时按文件读取
格式化输出BooleanTRUETRUE 为缩进格式化输出,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)文件操作错误:
其他异常转换失败:

基于源代码最新版本文档