如何比较2个html字符串是否相等?我正在使用Agility包尝试一些'东西',但它没有比较方法,或类似的东西。
对于记录,.NET框架不起作用。
[编辑]
通过比较2个html字符串,我的意思是网页的innerHTML
。
[/编辑]
示例:
例如,在此页面上按鼠标右键,然后单击“查看页面源”(我使用的是Firefox)。将该内容放入string
变量。
现在再次执行此操作,就像您之前一样,但选择另一个页面并创建一个新的string
变量。
完成后,将这两个strings
相互比较。
答案 0 :(得分:1)
如果您实际上是在比较有效的XML,那么这一切都很重要。
HTML是来自XML的衍生语言,如果string
都是有效的XML,您可以随时创建两个XMLDocument
并对它们进行相同的比较。
如果您的HTML语法存在问题,那么您需要使用其他算法进行比较,例如剥离所有双空格,删除标记之间的所有空格,并比较它们......
当然,您需要锻炼正确的表示,因为<body style="padding:2em;color:white;">
与HTML {...}}完全相同...
答案 1 :(得分:0)
假设您只对HTML元素的文本内容(即之间的内容)感兴趣,那么只需比较两个元素的.InnerText属性 - 这将返回一个包含所有“#text”的所有连接的字符串“所有子节点的节点。