0

xmlファイルを簡単に処理するためにticppを使用しています。ただし、イテレータインターフェイスの使用は少し厄介です。特定の親の子を逆の順序でトラバースする方法がないと仮定して正しいですか?(ドキュメント

イテレータインターフェイスには。がありoperator--()ます。ただし、「終了」イテレータでこれを呼び出すと、「アクセス違反の読み取り場所0x00000000」になります。私は何かが足りないのですか?これを処理するための迅速な方法はありますか?

私が現在考えている解決策は、リストを2回トラバースすることです。最初にすべての子をstd::array(配列がここで最適ですか?)に格納します。次に、すべての要素を逆の順序で再度チェックします。しかし、言ったように:私は仕方がないが、私はいくつかの機能を逃したに違いないと思う....

4

1 に答える 1

0

私が見逃したことがあったことがよくわかりました。ticppが提供するイテレータインターフェイスを使用する代わりに、tixmlのノードベースのインターフェイスを使用することもできます。(ticppは単なる抽象化レイヤーです)。

次のループで使用できる関数はほとんどありません。

for(ticpp::Node* pchild(elem.LastChild()); 
    pchild != nullptr; 
    pchild = pchild->PreviousSibling(false)) {
于 2013-01-06T11:13:44.923 に答える