org.json.XML.toString()更改XML元素的顺序

时间:2010-11-11 23:27:22

标签: java xml

我看到来自源XML的解析后的JSON对象转换回XML时,在将其打印到文件时不返回等效的XML。还有其他人看到同样的事吗?

我有一个XML文档,我可以使用org.json.XML.java轻松解析为json对象。出于测试目的,我使用了新解析的JSONObject,并使用org.json.XML.toString()将其反转回XML并查看上述结果。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

根据规范XML属性可以按任何顺序排列,并且根据规范,PEER元素上没有强制执行顺序。如果您不相信我,请搜索SO以获取更多关于此的文章,我已经在SO上发布过多次关于同一问题的文章。

<root a="a" b="b" c="c">
  <a/>
  <b/>
  <c/>
</root>

一样有效
<root c="c" a="a" b="b">
  <c/>
  <a/>
  <b/>
</root>

根据规范

现在特定于应用程序的解析器可能需要某个顺序的元素,XHTML就是这样的一个例子,这是可以的,因为它是特定于应用程序的。但是,在特定顺序中期望属性在任何时候都是错误的。你没有发布一个例子,所以我们不确定你指的是什么,但无论哪种方式规范都是松散的,就像没什么来说明 peer 元素顺序。