在C#中将特定文本从页面读入字符串数组

时间:2011-11-17 11:43:33

标签: c# web arrays

我试过这个并寻求帮助,但我无法弄明白。我可以获得页面的源代码,但我不需要整个事情,只需要重复一个字符串。可以把它想象成只抓取页面上文章的标题,然后将它们添加到数组中而不会丢失任何特殊字符。有人可以解释一下吗?

3 个答案:

答案 0 :(得分:0)

您可以使用正则表达式

从字符串中提取您想要的内容,例如您的html字符串。

或者您可以使用 DOM解析器,例如

Html Agility Pack

希望这有帮助!

答案 1 :(得分: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变量中的所有数字拉入字符串列表。但是你可以改变正则表达式来做更适合你需要的事情。

答案 2 :(得分:0)

如果页面格式正确xml,您可以使用linq to xml,方法是将页面加载到XDocument中,并使用XPath或其他方式遍历所需的元素,并将所需的内容加载到数组中您正在查找(或者只使用枚举,如果您想要做的只是枚举)。但是,如果页面不在您的控制之下,这是一个脆弱的解决方案,当细微的更改可能破坏xml的良好格式时,它可能会随时中断。如果是这种情况,你可能最好使用正则表达式。但是,无论哪种方式,页面都可以在您的下方进行更改,您的代码突然无法使用。

你能做的最好的事情就是让页面提供者公开你需要的web服务,而不是试图抓住他们的页面。