我使用pugixml解析以下xml:
<td class="title">
<div class="random" />
<a href="link">Link1 </a>
</td>
<td class="title">
<div class="random" />
<a href="link">Link2 </a>
</td>等等。
我想要td类="title“中每一个'a href‘的值(它显示的次数不确定),但只需要第一个这样的实例。
我使用以下代码尝试获取以下值:
pugi::xpath_node_set link_nodes = list_doc.select_nodes("//td[@class='title']");
for (pugi::xpath_node_set::const_iterator it = link_nodes.begin();it != link_nodes.end();++it)
{
pugi::xpath_node single_link_node = *it;
std::cout << single_link_node.node().select_single_node("//a").node().attribute("href").value()<<std::endl;
}它似乎不起作用(它输出次数,但它的值似乎不出现在该元素中)。
谢谢。
发布于 2013-12-15 22:23:07
"//a“选择文档中的所有"a”节点;您可能意味着".//a“选择子树中的所有"a”节点。
您还可以使用一个XPath表达式而不是多个:
//td[@class='title']//a[1]这将为每个td选择第一个标记,即1只应用于//a,而不应用于完整表达式。
https://stackoverflow.com/questions/20590433
复制相似问题