1

この質問は、Rapidxml の可変数の兄弟ノードと異なる兄弟のチェックとは少し異なります。Web で見つけたほとんどの例では、ハードコードされたキーが表示されます。次に例を示します。

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 に答える