我是libxml的新手。我想写一个循环来遍历一个子节点的所有子节点,等等。
<par>i want to <bold>loop <italic>through </italic> all</bold> children in this node</par>
目前,我的循环代码如下所示,但我只得到了“粗体”节点,而没有“斜体”子节点。
if (xmlStrEqual(node->name, BAD_CAST "p")) {
xmlNodePtr child = node->children;
while (child != NULL) {
child = child->next;
}
}可以想象,节点结构可以增长到4-5个元素,所以我需要一个更健壮的解决方案,将while循环放在while循环中。如果有任何帮助,我们将不胜感激。
发布于 2011-04-09 11:46:52
您正在使用的xmlTree接口是层级式的。有3个子元素-之前的文本,本身和之后的文本。具有自己的子级,其中包括。node->children列表只包含节点的直接子节点。
有几种方法可以获得您想要的行为。
->子节点以获取其子节点,其中包括
每种方法都有自己的优点/缺点,这取决于您想要对应用程序做什么。
https://stackoverflow.com/questions/5497301
复制相似问题