文件是同构的,如下面的程序所示。我认为,如果您使用
XmlDiffOptions.IgnoreNamespaces和X
mlDiffOptions.IgnorePrefixes配置
Microsoft.XmlDiffPatch.XmlDiff,那么您将获得所需的结果。
using System.Linq;using System.Xml.Linq;namespace SO_794331{ class Program { static void Main(string[] args) { var docA = Xdocument.Parse( @"<root xmlns:ns=""http://myNs""><ns:child>1</ns:child></root>"); var docB = Xdocument.Parse( @"<root><child xmlns=""http://myNs"">1</child></root>"); 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 = descendantB.Value; var equalValues = valueA.Equals(valueB); } } }}


