如何比较2个HTML字符串

时间:2012-02-25 18:38:55

标签: c# html string compare

如何比较2个html字符串是否相等?我正在使用Agility包尝试一些'东西',但它没有比较方法,或类似的东西。

对于记录,.NET框架不起作用。

[编辑]

通过比较2个html字符串,我的意思是网页的innerHTML

[/编辑]

示例:

例如,在此页面上按鼠标右键,然后单击“查看页面源”(我使用的是Firefox)。将该内容放入string变量。

现在再次执行此操作,就像您之前一样,但选择另一个页面并创建一个新的string变量。

完成后,将这两个strings相互比较。

2 个答案:

答案 0 :(得分:1)

如果您实际上是在比较有效的XML,那么这一切都很重要。

HTML是来自XML的衍生语言,如果string都是有效的XML,您可以随时创建两个XMLDocument并对它们进行相同的比较。

如果您的HTML语法存在问题,那么您需要使用其他算法进行比较,例如剥离所有双空格,删除标记之间的所有空格,并比较它们......

当然,您需要锻炼正确的表示,因为<body style="padding:2em;color:white;">与HTML {...}}完全相同...

答案 1 :(得分:0)

假设您只对HTML元素的文本内容(即之间的内容)感兴趣,那么只需比较两个元素的.InnerText属性 - 这将返回一个包含所有“#text”的所有连接的字符串“所有子节点的节点。