2011-11-17 61 views
-1

我试过这个和寻找帮助,但我无法弄清楚。我可以得到一个页面的源代码,但我不需要整个事情,只需要重复一个字符串即可。想想它就像试图抓取页面上的文章标题并将它们添加到数组中而不会丢失任何特殊字符。有人可以点亮一些光线吗?从页面中读取特定的文本到C#中的字符串数组#

+0

可以使用html解析器或正则表达式来查找感兴趣的文本。 –

+0

-1没有一个例子问这样的问题。 –

回答

0

您可以使用正则表达式

来提取一个字符串,你想要的内容,如您的HTML字符串。

或者你可以使用一个DOM解析器

Html Agility Pack

希望这有助于!

+0

Oblig:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – Oded

0

你可以使用这样的事情 -

var text = "12 hello 45 yes 890 bye 999"; 
var matches = System.Text.RegularExpressions.Regex.Matches(text,@"\d+").Cast<Match>().Select(m => m.Value).ToList(); 

的例子在text变量的所有数字驶入字符串列表。但是你可以改变正则表达式来做更适合你需求的事情。

0

如果页面是格式良好的xml,您可以使用linq to xml将页面加载到XDocument中,并使用XPath或其他遍历所需元素的方法,并将所需内容加载到数组中你正在寻找(或只是使用枚举,如果你想要做的就是枚举)。如果页面不在你的控制之下,那么这是一个脆弱的解决方案,在任何时候微妙的变化都会破坏xml的格式。如果是这种情况,那么使用正则表达式可能会更好。不过,无论哪种方式,页面可能会改变,你的代码突然无法工作了。

你可以做的最好的事情就是让页面的提供者公开你需要的web服务而不是试图刮掉他们的页面。

相关问题