我在尝试将2个xml文件与Microsoft的XmlDiff库进行比较时遇到问题。
我正在使用一个重载函数,它将2 xmls传递为字符串:
xmldiff = new XmlDiff(XmlDiffOptions.IgnoreChildOrder | XmlDiffOptions.IgnorePrefixes | XmlDiffOptions.IgnoreNamespaces);
bool identical = xmldiff.Compare(first, last, false);
其中first
和last
或多或少看起来像这样:
<?xml version="1.0" encoding="ISO-8859-1"?>
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<description>two of our famous Belgian Waffles with plenty of real maple syrup</description>
<calories>650</calories>
</food>
<food>
<name>Strawberry Belgian Waffles</name>
<price>$7.95</price>
<description>light Belgian waffles covered with strawberries and whipped cream</description>
<calories>900</calories>
</food>
</breakfast_menu>
我收到此错误
编辑:
好吧,我认为这是我的问题 - 我传递了文件的全部内容,而不仅仅是其路径或URL(如文档中所示)。所以现在我有另一个问题 - 当我在文件中包含文件内容时,如何使用此重载 - public Boolean Compare(XmlReader, XmlReader)
或此public Boolean Compare(XmlNode, XmlNode)
?
答案 0 :(得分:1)
您希望将文件路径传递给Compare
,而不是xml字符串。
答案 1 :(得分:0)
什么类型是第一个还是最后一个?他们是文件路径吗?还是字符串? 我注意到你的XML字符串上的编码使用的是代码页:encoding =“ISO-8859-1” 另一个XML'是'使用相同的编码吗?
如果'first'和'last'是文件路径:也许这是你传递给文件的文件的路径?我在解析一些文件时遇到过一次。我在文件名中有一个额外的空格。 我没有帮助我在一个小字体的IDE中编程,我需要新的眼镜,我坐在离显示器3英尺的地方。 这使得查看文件名中的微小空间成为一个错误。