【发布时间】:2014-02-05 15:44:58
【问题描述】:
我试图从 2 个不同的 Div 中提取数据,但我只能从第一个 Div(城市)中获取数据。我以 wiki 页面中的代码设置为例,其中所有 li 元素来自 H2 id = cities 和 id = Other_destinations:
var xpathData = "//h2[span/@id='Cities' or @id='Other_destinations']" + "/following-sibling::ul[1]" + "/li";
然后我将 li 中的任何内容写入文本文档。
private void button1_Click(object sender, EventArgs e)
{
List<string> destinations = new List<string>();
var xpathData = "//h2[span/@id='Cities' or @id='Other destinations']" + "/following-sibling::ul[1]" + "/li";
WebClient web = new WebClient();
String html = web.DownloadString("http://wikitravel.org/en/Germany");
hap.HtmlDocument doc = new hap.HtmlDocument();
doc.LoadHtml(html);
using (StreamWriter write = new StreamWriter(@"C:\path\testText.txt"))
{
foreach (hap.HtmlNode node in doc.DocumentNode.SelectNodes(xpathData))
{
string all = node.InnerText;
//Writes to text file
write.WriteLine(all);
}
}
}
关于 'hap' 的注释,由于一些奇怪的冲突,我不得不使用 hap = HtmlAgilityPack;。
感谢任何帮助/建议/指导!
【问题讨论】:
标签: c#-4.0 web-scraping html-agility-pack