问问题
2506 次
2 回答
3
由于一些奇怪的原因,HtmlAgilityPack 没有正确处理这些标签,所以这设法解决了我的问题。
// Iterating over nodes to build the dictionary
foreach (HtmlNode city in citiesNodes)
{
if (city.NextSibling != null)
{
string key = city.NextSibling.InnerText;
string value = city.Attributes["value"].Value;
citiesHash.AddCity (key,value);
}
}
我没有直接到达节点,而是通过使用NextSimbling
前一个 simbling 中的引用来获取每个节点的值。
于 2012-12-20T17:21:37.527 回答
0
你也可以试试这个。对于其他需要尝试不同方法的人(答案对我不起作用),我最终只是引用了父节点的子节点:
HtmlNode.ElementsFlags.Remove("option"); // need this before you do anything with HAP
var options = htmlDoc.DocumentNode.SelectNodes("//select[@id='myselect']/option")
for (var i = 0; i < options.Count; i++) {
var val = options[i].InnerHtml;
}
我试图做一个 foreach,遍历节点,这给了我空值。这对我来说很好。
于 2015-04-23T01:51:16.917 回答