xml - 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>
我只发现了这个问题,但他们要求相同类型的元素。因此,我有一些问题。
- 两个 XML 文档是否被视为相等?
- 关于xml中元素的顺序是否有任何权威来源?
- DOM 会平等地处理两个 XML 文档吗?
解决方案
两个 XML 文档是否被视为相等?
不是一般的 XML 术语。特定的 XML 应用程序可能不会赋予订单重要性。
关于xml中元素的顺序是否有任何权威来源?
XML 规范似乎没有明确提及它,但引用了 SGML 规范,我不会花钱来证明这一点。
但是,请考虑任何 XHTML 文档。如果您对子节点的顺序进行打乱,则不太可能有意义。
DOM 会平等地处理两个 XML 文档吗?
不,它会以不同的顺序表达元素
推荐阅读
- json - 无法将 objectID 解码为数组
- java - 试图将 csv 文件读入 Java 中的 ArrayList 但元素无意合并?
- php - Dynamic function calls in php for SMS Syntax patterns Definition
- javascript - 使用 .done 和 .fail 进行 API POST
- c++ - How to pass a custom allocator to std::string in C++?
- class - Vuejs class component fields undefined
- python - 返回包含字母的单词列表
- python - 在python中计算图中的峰值数量
- autofac - 无法在 asp.net core 3.1 应用程序中的类/接口上连接拦截器
- git - 如果我在远程挂钩运行时中断本地 git 进程会发生什么?