1

私はこのようなxmlファイルを持っています

<library>
    <book name="ABC">
        <chapter val="1"/>
            ...
    </book>
            ...
    <book id="123">
        <page val="567"/>
            ...
    </book>
</library>

このxmlファイルを解析するためにtinyxmlを使用しています。私はこれをC++で行っています。「章」要素を選択したいのですが、これが私のコードです...

TiXmlDocument doc;
TiXmlHandle XMLFileHandle( &doc);

TiXmlElement* Book1Element = XMLFileHandle.FirstChild("library").FirstChild("book").FirstChild("chapter").FirstChild.ToElement();

できます。しかし、同じ方法で「ページ」要素を選択しようとすると、機能しませんでした。

TiXmlElement* Book2Element = XMLFileHandle.FirstChild("library").FirstChild("book").FirstChild("page").FirstChild.ToElement();

何故ですか?1 つの book 要素には名前による属性があり、もう 1 つの book 要素には id による属性があるためと思われます。

xml と tinyxml を扱うのはこれが初めてです。間違った用語を使用していたら申し訳ありません。さらに説明が必要な場合は、お知らせください。

ありがとうございます。

4

2 に答える 2

3

bookXML ツリーが表示されているとおりである場合、子を持たない最初の要素をまだ選択しているため、これは機能しませんpage

于 2012-02-23T18:50:20.753 に答える
2

book の最初の Child には page 要素がないためです。2 番目の子は

于 2012-02-23T18:50:38.163 に答える