【问题标题】:Get HTML tag from a string从字符串中获取 HTML 标签
【发布时间】:2012-01-19 15:40:07
【问题描述】:

从字符串中获取 html 标记的最佳和最简洁的方法是什么?

我有一串包含多个嵌入标签的 html 视频。 html字符串中可以有任意数量的embed标签

我想我可以做这样的事情,但这不是最好的方法:

string embedSrc = propertyText.Substring(propertyText.IndexOf("<embed"), (propertyText.IndexOf  ("</embed") - propertyText.IndexOf("<embed") + 8));

【问题讨论】:

    标签: c# asp.net html string


    【解决方案1】:

    尝试使用HtmlAgilityPack 轻松解析它。如果没有,你可以使用正则表达式

    【讨论】:

    • 谢谢,但我手中的项目在 .Net 2.0 上运行,HtmlAgilityPack 需要 3.5。
    • @Andy,来自我发布的链接:the version posted here on CodePlex is for the .NET Framework 2.0. If you need the old version, please go to the old page or drop me a note.
    【解决方案2】:

    我认为您可以为此使用 C# api。尝试使用 XmlDocument 的 LoadXml(string) 方法。之后,只需使用对象操作从中提取内部标签或文本。看一眼 XmlDocument from MSDN

    【讨论】:

    • 我试过了,但得到了我的 html 文档有多个根元素的错误。
    • 确保您的 html 格式正确,并且您传递了正确的根标签: 正确的 ' some text ' 不正确(这会引发多个根) some text 另一个文本
    【解决方案3】:

    Sebastian 有权,找到一个图书馆,HtmlAgilityPack 是一个不错的选择。如果您需要文档结构,这确实是最佳选择。

    使用正则表达式解析通常被认为是 HTML 的禁忌。这实际上取决于您要从输入字符串中读取的内容。我写了一个lightweight xml/html parser using Regex 只是为了看到它完成。这可以为您提供所需的正则表达式模式。

    【讨论】:

      猜你喜欢
      • 2011-08-21
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 2017-02-02
      • 2012-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多