我有兩個具有相同模式/結構但具有不同數據的XML文件。我正在嘗試使用Linqpad(Linq to XML)來查找這兩個文件之間的差異。查找使用linqpad和linq到xml的兩個XML文件中的匹配節點找到0個結果
這裏是我的代碼...
XElement FILE1 = XElement.Load (@"..\FILE1.XML");
XElement FILE2 = XElement.Load (@"..\FILE2.XML");
var orders = from file1 in FILE1.Descendants("Players").Elements("Player")
select new {
name=new {
firstName=file1.Element("FirstName"),
lastName=file1.Element("LastName")
}
};
var orders2 =
from file2 in FILE2.Descendants("Players").Elements("Player")
select new {
name=new {
firstName=file2.Element("FirstName"),
lastName=file2.Element("LastName")
}
};
var matchingResults = from i in orders from j in orders2 where (i.name.firstName==j.name.firstName && i.name.lastName==j.name.lastName)
select i;
matchingResults.Dump()
上次轉儲()將返回0的結果。我知道這兩個文件中有匹配的數據。
編輯我忘了提及,如果我轉儲每個查詢的結果,我會得到兩個序列的結果(非常相似)。
我也曾嘗試這裏顯示的方法...
Compare two xml and print the difference using LINQ
(它結合了文件合併爲一個序列,然後就比較),但我在歌廳相同的結果... 0的結果。
該方法似乎也可以在第一個訂單序列上創建笛卡爾產品。
我只想從文件中找到匹配或缺失的節點。
我在這裏錯過了什麼?
xml結構是什麼樣的? – Chris