XML 中元素的顺序重要吗?

Posted

技术标签:

【中文标题】XML 中元素的顺序重要吗?【英文标题】:order of elements in XML important? 【发布时间】:2021-08-26 09:07:11 【问题描述】:

我正在讨论将 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>

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

两个 XML 文档是否被视为相等? xml中元素的顺序是否有权威来源? DOM 是否可以平等地处理两个 XML 文档?

【问题讨论】:

【参考方案1】:

两个 XML 文档是否相等?

不是一般的 XML 术语。一个特定的 XML 应用程序可能不会给出顺序的重要性。

关于xml中元素的顺序有没有权威来源?

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

但是,请考虑任何 Xhtml 文档。如果你打乱了子节点的顺序,那么它不太可能有意义。

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

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

【讨论】:

以上是关于XML 中元素的顺序重要吗?的主要内容,如果未能解决你的问题,请参考以下文章

app.config 中元素的顺序是不是重要?

优化:switch 语句中的 case 顺序重要吗? [关闭]

XSLT 转换 XML:选择 uuid 并按顺序排序

什么可以改变Java生成的XML文件中元素属性的顺序?

以编程方式控制 xml 元素的顺序

加入条件的顺序重要吗?