首页 > 解决方案 > XML 中元素的顺序重要吗?

问题描述

我正在讨论将 XML 转换为 JSON 然后再转换回 XML 的函数的要求。

假设我有以下 XML 并且没有 XML 架构:

 <pets>
 <pet1>dog</pet1> 
 <pet2>cat</pet2>
 </pets>

在 JSON 中,对象是一组无序元素。因此,两个 json 是相等的,并且是 xml2json 转换器的有效输出。

{
  "pets": 
    {
     "pet1": "dog",
     "pet2": "cat"
    }
}


{
  "pets": 
    {
     "pet2": "cat",
     "pet1": "dog"
    }
}

因此,当从 json 转换回 xml 时,我可能会得到

 <pets>
 <pet2>cat</pet2>
 <pet1>dog</pet1> 
 </pets>

我只发现了这个问题,但他们要求相同类型的元素。因此,我有一些问题。

标签: xmldom

解决方案


两个 XML 文档是否被视为相等?

不是一般的 XML 术语。特定的 XML 应用程序可能不会赋予订单重要性。

关于xml中元素的顺序是否有任何权威来源?

XML 规范似乎没有明确提及它,但引用了 SGML 规范,我不会花钱来证明这一点。

但是,请考虑任何 XHTML 文档。如果您对子节点的顺序进行打乱,则不太可能有意义。

DOM 会平等地处理两个 XML 文档吗?

不,它会以不同的顺序表达元素


推荐阅读