2016-11-29 69 views
0

我有2個xml文檔存儲在AJAX post請求中,我想檢查它們是否相同。顯然xml1 == xml2不起作用。有另一種方法可以使這項工作?檢查2個XML文檔是否與javascript相同

+4

在JavaScript中沒有內置的方法。您必須提供代碼,使用適合您的應用程序的任何標準在DOM樹之間執行比較。 – Pointy

+0

@積分謝謝。這就是我的想法,但我想確保沒有更簡單的方法。 – Sky

回答

1

試試這個。它使用this question中的方法解析XML文檔,並使用isEqualNode比較兩者。

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文檔。