首页 > 解决方案 > 有没有一种方法可以直接将 XML 转换为 JSON 并删除命名空间,而无需任何中间 XML 到 XML 的转换?

问题描述

以下 XML 的输出:

<users>
    <user>
        <id:name>Shikhar</id:name>
        <id:age>31</id:age>
    </user>
    <user>
        <xd:name>Shashank</xd:name>
        <xd:age>29</xd:age>
    </user>
</users>

里面不应该有 id: 或 xd: 。

{
  "user": [
    {
      "name": "Shikhar",
      "age": 31
    },
    {
      "name": "Shashank",
      "age": 29
    }
  ]
}

我知道如何从 XML 转换为 XML,然后再转换为 JSON。但我想要直接转换。

标签: javajsonxmljaxb

解决方案


将 XML 转换为 JSON 的现成程序几乎总是会产生与您想要的 JSON 不完全一致的东西。那是因为您比通用程序更了解数据的语义。一些实用程序比其他实用程序更可定制,但没有一个是完美的。

我认为对于大多数现实生活中的转换,您应该期望对 XML 预转换或 JSON 转换后进行一些调整。调整 XML 可能更容易,因为在 JSON 方面没有什么比 XSLT 更强大的了。


推荐阅读