Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们有 3 个不同的程序/媒体,其中生成了相同类型的 XML,这些 XML 的值和元素的顺序各不相同。
我应该从这些 XML 中选择特定元素,并且需要检查每个子/元素/属性是否匹配。我使用了一个 deep-equal 函数,它也给了我适当的输出,但这并不是 100% 保证的。因为有时节点的顺序可能会有所不同,这是允许的以及属性也是如此(仅按顺序)。
有谁知道如何以 deep-equal 方法的方式比较两个节点而不用担心序列/顺序?
请让我知道是否需要更多信息才能提供答案。
默认情况下,元素的顺序在 XML 中是有意义的,所以像 deep-equal 这样的函数是顺序敏感的。没有内置的序列不敏感等价物;这是某些词汇表中采用的特殊习语,但支持它的函数不属于通用库就足够了。
为了解决您的直接问题:对于孩子的顺序无关紧要的元素,规范化顺序(例如以某种确定的方式排序),然后使用深度相等。