有什麼辦法可以比較C#中的兩個XML文件嗎?我只想比較第一個文件的節點和第二個文件的節點。我不想追加缺少的節點。xml文件比較
有沒有辦法做到這一點?
這是我曾嘗試:
var docA = XDocument.Parse(@"<mind_layout></mind_layout>");
var docB = XDocument.Parse(@"<mind_layout></mind_layout>");
var rootNameA = docA.Root.Name;
var rootNameB = docB.Root.Name;
var equalRootNames = rootNameB.Equals(rootNameA);
var descendantsA = docA.Root.Descendants();
var descendantsB = docB.Root.Descendants();
for (int i = 0; i < descendantsA.Count(); i++)
{
var descendantA = descendantsA.ElementAt(i);
var descendantB = descendantsB.ElementAt(i);
var equalChildNames = descendantA.Name.Equals(descendantB.Name);
var valueA = descendantA.Value;
var valueB = descendantA.Value;
var equalValues = valueA.Equals(valueB);
}
其中<mind_layout>
是在這兩個文件的根節點。
VAR DOC1 = XDocument.Load(File.OpenRead(@「C:\路徑\到\ file1.xml 「)); var doc2 = XDocument.Load(File.OpenRead(@「C:\ path \ to \ file2.xml」)); 如果(XDocument.DeepEquals(DOC1,DOC2)) { //相同的XML內容 } 但是這也比較我不想要的節點的值.. – kawadw 2011-05-10 04:56:05
VAR DOC1 = XDocument.Load( File.OpenRead(@ 「C:\路徑\到\ file1.xml」)); var doc2 = XDocument.Load(File.OpenRead(@「C:\ path \ to \ file2.xml」)); 如果(XDocument.DeepEquals(DOC1,DOC2)){ // 相同的XML內容 } 這也比較節點值,我不want.I只是想比較節點格式.. – kawadw 2011-05-10 04:56:52
我想只比較節點的名稱而不是節點的內容.. – kawadw 2011-05-10 05:10:02