相关疑难解决方法(0)

您如何比较两个XML文档?

作为一些广泛的单元测试的基类的一部分,我正在编写一个辅助函数,它在C#(.NET)中递归地将一个XmlDocument对象的节点与另一个XmlDocument对象的节点进行比较.一些要求:

  • 第一个文档是源代码,例如我希望XML文档看起来像什么.因此,第二个是我想要找到差异的那个,它不能包含不在第一个文档中的额外节点.
  • 当发现太多显着差异时必须抛出异常,并且应该通过人们对该描述进行瞥见来容易理解.
  • 子元素顺序很重要,属性可以按任何顺序排列.
  • 有些属性是可以忽略的; 特别是xsi:schemaLocationxmlns:xsi,虽然我希望能够通过在哪些.
  • 名称空间的前缀必须在属性和元素中都匹配.
  • 元素之间的空白是无关紧要的.
  • 元素将要么有子元素 InnerText,但不能同时.

虽然我正在废弃一些东西:有没有人写过这样的代码,是否有可能在这里分享?

顺便说一下,你会把第一个和第二个文件称为什么?我一直把它们称为"源"和"目标",但它感觉不对,因为是我希望目标看起来像,否则我抛出异常.

.net c# xml xmldocument compare

60
推荐指数
7
解决办法
8万
查看次数

比较XmlDocument是否相等(内容明智)

如果我想比较XMlDocument的内容,它是这样的吗?

XmlDocument doc1 = GetDoc1();
XmlDocument doc2 = GetDoc2();

if(doc1 == doc2)
{

}
Run Code Online (Sandbox Code Playgroud)

我不检查它们是否是相同的对象引用,但是如果xml的CONTENTS是相同的.

c# xml xmldocument equality

14
推荐指数
3
解决办法
1万
查看次数

NUnit是否有XML断言?

NUnit是否支持(可能通过使用第三方库)对XML数据进行智能比较.

假设我们需要比较两个xml文件 - 最简单的方法是使用无大小写敏感的字符串比较来比较xml内容,但这只能在一些简单的情况下工作.

是否有任何库可以简化xml比较 - 例如某种XmlAssert?

我所追求的功能 - "拥有两个xml文件,比较这些节点(因为它们很重要)并忽略其余部分".

类似的问题

xml nunit unit-testing

7
推荐指数
1
解决办法
2599
查看次数

标签 统计

xml ×3

c# ×2

xmldocument ×2

.net ×1

compare ×1

equality ×1

nunit ×1

unit-testing ×1