6

我在文本文件中有网页的 HTML 代码。我希望我的程序返回标签中的值。例如,我想让“朱利叶斯”离开

<span class="hidden first">Julius</span>

我需要正则表达式吗?否则什么是可以做到的字符串函数?

4

4 回答 4

13

您应该使用像htmlagilitypack这样的 html 解析器。Regex不是解析 HTML 文件的好选择,因为 HTML 并不严格,其格式也不规则。

您可以使用下面的代码来检索它HtmlAgilityPack

HtmlDocument doc = new HtmlDocument();
doc.Load(yourStream);

var itemList = doc.DocumentNode.SelectNodes("//span[@class='hidden first']")//this xpath selects all span tag having its class as hidden first
                  .Select(p => p.InnerText)
                  .ToList();

//itemList now contain all the span tags content having its class as hidden first
于 2012-11-05T14:47:54.017 回答
7

我会使用Html Agility Pack来解析 C# 中的 HTML。

于 2012-11-05T14:45:30.830 回答
2

我强烈建议您查看HTML Agility Pack之类的东西

于 2012-11-05T14:45:40.480 回答
1

几天前我问过同样的问题并最终使用了 HTML Agility Pack,但这是你想要的正则表达式

这个会忽略属性

<span[^>]*>(.*?)</span>

这个会考虑属性

<span class="hidden first"[^>]*>(.*?)</span>
于 2012-11-05T16:49:00.033 回答