2016-11-29 8 views
0

私はAJAX投稿要求から取得した2つのXML文書を保存しており、それらが同じかどうかチェックしたいと思います。明らかにxml1 == xml2は機能していません。私はこの仕事をすることができる別の方法はありますか?2つのXML文書がjavascriptと同じであることを確認してください

+4

JavaScriptで組み込みの方法はありません。アプリケーションに適した条件を使用してDOMツリー間の比較を実行するコードを用意する必要があります。 – Pointy

+0

@Pointyありがとうございます。それは私が思ったものですが、もっと簡単な方法がないことを確認したかったのです。 – Sky

答えて

1

これを試してください。 this questionのメソッドを使用してXML文書を解析し、isEqualNodeを使用して2つを比較します。

function parseXMLString(xmlString) { 
 
    var xmlDoc; 
 

 
    if (window.DOMParser) { 
 
    var parser = new DOMParser(); 
 
    xmlDoc = parser.parseFromString(xmlString, "text/xml"); 
 
    } else // Internet Explorer 
 
    { 
 
    xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
 
    xmlDoc.async = false; 
 
    xmlDoc.loadXML(xmlString); 
 
    } 
 

 
    return xmlDoc; 
 
} 
 

 
var xmlObj1 = parseXMLString('<hello>world</hello>'); 
 

 
var xmlObj2 = parseXMLString('<hello>world</hello>'); 
 

 
var xmlObj3 = parseXMLString('<hello>world2</hello>'); 
 

 
var xmlObj4 = parseXMLString('<hello2>world</hello2>'); 
 

 
console.log(xmlObj1.isEqualNode(xmlObj2)); 
 
console.log(xmlObj1.isEqualNode(xmlObj3)); 
 
console.log(xmlObj1.isEqualNode(xmlObj4));

あなたはjQueryのを使用している場合は、parseXML()を使用してXML文書を解析することができます。

関連する問題