【问题标题】:Manipulating HTML files处理 HTML 文件
【发布时间】:2010-02-09 04:19:54
【问题描述】:

我正在开发一个类似浏览器的应用程序,它从站点(任何网站)获取 HTML,然后在其上应用样式脚本来更改某些元素(就像油脂猴一样)。

我最初的计划是使用 XPath 和 XmlDocument 解析 HTML,但有没有更好的方法?

提前致谢!

Ps> HTML+C# 上的实用提示、技巧和链接会很棒~ ^^

【问题讨论】:

    标签: c# html


    【解决方案1】:

    使用 HTML Agliility 包。你可以在这里找到它:http://www.codeplex.com/htmlagilitypack

    【讨论】:

      【解决方案2】:

      HTML 并不总是遵循 XML 规则,例如 html 中有标签,可能没有关闭标签,所以 XPath 和 XDocument 有时会抛出错误。 IE API 使您能够做到这一点(请参阅here),您还可以找到第三方解析器(请参阅this o this

      【讨论】:

        【解决方案3】:

        我强烈推荐使用 XSLT。这使您可以将所有转换数据保留在代码之外,因此,如果要转换的 HTML 被修改,或者您想要更改布局,则可以很容易地对其进行更改。

        不过,如果使用 HTML 而不是 XHTML,请注意可能出现的错误。尽管如此,使用 Tidy 库可以帮助您克服这个问题。

        【讨论】:

          【解决方案4】:

          我真的建议您为您选择的编程语言使用一个包来处理 HTML 解析的所有奇怪问题。我以前在 Ruby 中使用过 Hpricot,它让事情变得轻而易举。

          【讨论】:

            【解决方案5】:

            如果您希望能够根据其内容浏览 HTML,XPath 是一个不错的选择。但是您必须先清理 HTML。您可以使用 HTML tidy 将 HTML 转换为 XHTML。在此过程中,您可能会修改页面的呈现方式。但这似乎是您项目的目的,所以这没什么大不了的。

            【讨论】:

              猜你喜欢
              • 2015-10-05
              • 1970-01-01
              • 2013-10-24
              • 2016-01-03
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-10-20
              相关资源
              最近更新 更多