我有一个string
包含 HTML,我需要在 Windows 8 Store App 中解析它。System.Windows.Forms.HtmlDocument不适用于商店应用程序。我只需要提取一些页面链接、图片链接和一些文本内容。
我想我可以使用正则表达式来获得快速而肮脏的解决方案,但必须有更好的方法。解析应该是健壮的,即使 HTML 略有损坏或不标准,也不会拒绝整个字符串。谷歌搜索提供了一些替代方案,但我发现结果没有定论,并希望从实际这样做的人那里得到一个直接的答案(或答案列表)。一些代码会很好,或者只是一个链接到带有好的代码的 SO 答案。
一些澄清代码:
public async void doSomeHtmlStuff(string url) {
System.Net.Http.HttpClient client = new HttpClient();
string html = await client.GetStringAsync(url);
// parse the html, how?
// NOT anything like this, document tree is needed for context
var links = Regex.Matches(html, "<a\\s*href=.*>.*</a>");
}