1
如果不是通過C++代碼比較xml文件的最佳方式/工具是什麼?我們可以使用MSXML比較兩個xml文件嗎?
如果不是通過C++代碼比較xml文件的最佳方式/工具是什麼?我們可以使用MSXML比較兩個xml文件嗎?
這是一個有趣的問題。
您可能會開始研究並找出有關XML規範化的內容,並假設您只需要Canonicalize各個文檔,然後將它們作爲文本進行比較。由於幾個原因,這並不是真的有效,首先因爲MSXML(v3,v6)don't do Canonicalization和其次Canonicalization doesn't really work支持的版本無論如何不是最常見的情況。
最好的辦法就是生成一個xml文件的散列或摘要,並對其進行比較。爲了實現這一點,你需要確保每個文件符合相同的一組約定 - 相同的文本編碼,處理換行符的相同方式,使用CDATA的相同方式,指定命名空間的相同方式等等。只要它們是一致的,你究竟如何做這些事情並不重要。
根據你的建議,我已經開始研究XML規範化。但由於我是MS技術新手,我使用MSXML DOM解析器解析了兩個輸入XML文件的內容,然後比較了結果。它工作正常,但唯一的問題是我需要根據(說它的ID)值排序的屬性。任何想法我怎麼能做到這一點? – psp 2011-06-07 06:00:46