2015-11-04 52 views
0

有沒有辦法以編程方式比較2個XML文件的結構,但不是它們的值?用於XML結構比較的C#API

更具體,如果你有2個XML文件:

<car> 
<numberofwheels>4</numberofwheels> 
<carcolor color="red" dateofpainting="2015-10-10" /> 
</car> 

<car> 
<numberofwheels>7</numberofwheels> 
<carcolor color="blue" /> 
</car> 

它只會注意到屬性dateofpainting丟失,但沒有價值的變化(numberofwheelscolor) 。我也不在乎空白,換行符,屬性順序等...

有一個來自微軟的XML差異和補丁工具,但據我所知,它也檢查XML值,你不能設置它忽視它們。

+0

從一個創建一個xml架構,然後檢查另一個架構是否是一個想法? https://msdn.microsoft.com/en-us/library/ms255829.aspx – Lucian

+0

是的,這解決了我的情況。謝謝! – gofu

回答

0

如果任何一個結構是預定義的,那麼您可以使用XML模式來查找不匹配。如果沒有,那麼你必須使用XMLDocument/XMLReader類遍歷文檔節點,你可以得到差異列表。