转换为json和从json转换后的XML命名空间前缀错误

时间:2015-12-16 17:22:33

标签: json xml xml-namespaces

我正在使用json.lib将xml转换为json并返回xml。我需要第二个xml与第一个相同,所以我在json中使用了很多提示。例如,所有属性都以“@”为前缀。命名空间声明也以“@”为前缀。

  

{@的xmlns “:” .. .. URI “” @的xmlns:的xsi “:” .. .. URI “” @的xsi:的schemaLocation “:” .. URI ..“}

从生成的json转换为xml时会出现一个问题。

除非我通过设置:

从'xsi:schemaLocation'中删除'xsi'
XMLSerializer s = new XMLSerializer();
s.setRemoveNamespacePrefixFromElements(true);

我得到了

  

nu.xom.NamespaceConflictException:必须声明属性前缀。

我尝试使用

设置名称空间声明
s.setNamespace("xsi", "http://uri") 

它不起作用。 我最好的猜测是,我首先通过为属性这样的名称空间添加前缀来生成json错误,但我不知道如何在转换时将它们分开。有没有人遇到类似的东西?

0 个答案:

没有答案