我在试图将2个xml文件与微软的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)?
发布于 2011-11-27 01:44:36
看起来您希望将文件路径传递给Compare,而不是xml。
发布于 2011-11-27 01:59:09
第一种和最后一种是什么类型的?他们是文件路径吗?还是弦乐?我注意到您的XML字符串上的编码使用的是代码页: encoding="ISO-8859-1“是使用相同编码的另一个XML‘东西’吗?
如果“第一”和“最后”是文件路径:也许是您要传递给文件的文件的路径?在解析某些文件时,我曾遇到过这种情况。我在文件名中有一个额外的空间。这对我用一个小字体的IDE编程没有帮助,我需要一副新眼镜,我坐在离显示器3英尺远的地方。这使得看到文件名中的微小空间成了一个讨厌鬼。
https://stackoverflow.com/questions/8283015
复制相似问题