1

这个问题与在 Rapidxml 中检查可变数量的兄弟节点和不同的兄弟节点略有不同。在我在网上找到的大多数示例中,我看到了硬编码键,例如:

xml_node<>* root = doc.first_node("rootnode");

这里“rootnode”是硬编码的。我的情况略有不同,从某种意义上说,rapidxml 已经完成了解析和标记。我需要在不知道硬编码名称和节点深度的情况下通过迭代节点及其兄弟节点来知道解析器读取的名称。我正在寻找关于沿着 rapidxml 树进行某种递归导航的建议/解决方案。

谢谢你。

4

1 回答 1

2

根据 RapidXml 的文档(参见此处),方法中的节点名称参数first_node()是可选的。您可以省略该参数,您将获得第一个子节点,无论其名称如何:

xml_node<>* root = doc.first_node();

然后你可以通过调用它的name()方法来获取节点的名称。

于 2012-11-05T15:25:05.517 回答