【问题标题】:html Document Comparehtml 文档比较
【发布时间】:2013-07-14 10:30:15
【问题描述】:

我想比较 Html 文档天气是否存在相同排列的相同标签,而不管不同的内部文本和属性值是否不同。我只想比较一般的标签结构。比如

<html>
<head>
</head> 
<body>
<span class="my paragraph">comparison of general tag structure of html</span>
</body>
</html>

<html>
<head>
</head> 
<body>
<span class="Mega Offer">free membership offer</span>
</body>
</html>

都是一样的

但是

<html>
<head><title>Different</title>
</head> 
<body>
<span class="my paragraph">comparison of general tag structure of html</span>
</body>
</html>

不一样是因为标签的html结构中多了一个title标签,不管内部值和属性值是一样的。

【问题讨论】:

  • 您只想知道它们是否不同,还是您也想知道它们的区别?我认为在这两种情况下,将 html 文档解析为 XML 都会有所帮助。
  • 是的,我也想知道区别。
  • 差异的输出应该是什么?
  • 我认为对代码 here 进行一些更改可能会满足您的需求。
  • 哦,谢谢,我想要同样的东西。这会有很大帮助。

标签: c# html html-parsing dom


【解决方案1】:

如果你愿意使用 php,有几个函数,如 preg_match,可以寻找模式。您可以使用 file 将 html 文件读入数组,每个新行都是数组中的另一个条目。然后对另一个 html 文件执行相同的操作。然后你可以去搜索第一个标签(又名:以&lt;开头的东西)并阅读该行的其余部分,直到&gt;。然后去另一个 html 文件中搜索相同的标签,计算该标签出现的次数。冲洗并重复。

【讨论】:

    【解决方案2】:

    我会分两个阶段进行:

    第 1 阶段(检查是否相等):
    删除标签和属性之间的所有内容,然后将结果作为(不区分大小写的)字符串进行比较。

    如果它们不同,也是这样:

    第 2 阶段(找出差异):
    这个阶段很大程度上取决于您要报告的差异,因此我无法给出具体建议如何实施。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多