我需要一些帮助,因为我无法使用htmlagilitypack开发解析器。
我有一个div和一些子div,每个子div都包含一个到边的链接。例如
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div id="test">
<div>some content</div>
<div class="project-categories" itemprop="occupationalCategory">
<div class="cat_object"><a class="cat_child" target="_self" href="1.htm">1</a></div>
<div class="cat_object"><a class="cat_child" target="_self" href="2.htm7">2</a></div>
<div class="cat_object"><a class="cat_child" target="_self" href="3.htm">3</a></div>
</div>
</div>
</body>
现在,我将XPath设置为"我喜欢遍历:">
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//*[@id="test"]/div[2]"))
{
System.Diagnostics.Debug.WriteLine(node.InnerText);
}
结果总是一样的——我只得到一个包含XPath的整个innerHtml的节点。
<div class="cat_object"><a class="cat_child" target="_self" href="1.htm">1</a></div>
<div class="cat_object"><a class="cat_child" target="_self" href="2.htm7">2</a></div>
<div class="cat_object"><a class="cat_child" target="_self" href="3.htm">3</a></div>
我做了一些搜索,找到了几个有用的例子。使用HtmlAgilityPack 无法选择节点
但无论我尝试什么,问题仍然存在。
你能帮我访问这些项目以在单个节点中获得每个项目吗?
谢谢!Andre
我想我明白了。缺少额外的/div,因此
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//*[@id="test"]/div[2]/div"))
工作良好。