从字符串中获取HTML标记

时间:2011-12-13 19:07:56

标签: c# asp.net html string

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

我有一串html,其中包含几个包含视频的嵌入代码。 html字符串中可以有任意数量的embed标记

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

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

塞巴斯蒂安有权利,找到一个图书馆,HtmlAgilityPack是一个很好的选择。如果您需要文档结构,这确实是最佳选择。

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