2

値と要素の順序が異なる同じ種類の XML が生成される 3 つの異なるプログラム/媒体があります。

これらの XML から特定の要素を選択することになっており、各子/要素/属性が一致しているかどうかを確認する必要があります。私は deep-equal 関数を使用していましたが、適切な出力も得られましたが、100% 保証されているわけではありません。ノードの順序が異なる場合があり、許可されているものと属性も異なる場合があるためです(順序のみ)。

シーケンス/順序を気にせずに、deep-equal メソッドのように 2 つのノードを比較する方法を知っている人はいますか?

回答を提供するためにさらに情報が必要な場合はお知らせください。

4

1 に答える 1

2

デフォルトでは、要素のシーケンスは XML で意味を持つため、deep-equal などの関数はシーケンスに依存します。組み込みのシーケンスに依存しない同等のものはありません。これは一部の語彙で採用されている特定のイディオムですが、それをサポートする関数が一般的なライブラリに属さない特殊なケースとしては十分です。

当面の問題を解決するには: 子の順序が問題にならない要素の場合、順序を正規化 (たとえば、決定論的な方法でソート) してから、deep-equal を使用します。

于 2013-04-26T23:19:21.457 に答える