2016-04-12 117 views
2

私はQt5.5を使用しています。ノードと関係の構造と属性を維持しながらXMLファイルをメモリに読み込みたいと思います。Qt読み込みXML構造

これまでQXmlStreamReaderを使用してきましたが、これはあまり効果がありません。ノード間の関係を構築するための明白な方法はありません。

私が最終的に望むのは、ルートノードがルートxmlノードと同じで、他のノードがこれの子であるリンクされたリストにXMLを読み込むことです。

QDomDocumentとQDomElementが少し見つかりましたが、これらを使用するには、 '.pro'ファイルを変更し、QT行にxmlを追加する必要があります。

+2

あなたは 'QDomDocument'を使うと考えましたか? –

+0

ちょうどこれを見て.... Qt5.5でQDomElementとQDomDocumentを利用できますか? – SPlatten

+0

それは "qt5 qdomdocument"をグーグルで見つけ出すことは自明です... – hyde

答えて

1

DOMパーサーが必要です。これは、XMLデータのツリー状のモデル(Document Object Model)を提供します。これは、トラバース、変更、およびファイルへの格納が可能です。

QXmlStreamReaderは、SAXパーサと同様の非常に単純なインターフェイスを提供します。 XMLからデータを抽出するだけで十分な場合があります。 (単純なXMLを書くために、QXmlStreamWriterもあります)。あなたはより強力なXMLパーサが必要な場合は これら二つのクラスは、Qtのコアモジュール

に含まれている、QtのXMLモジュールは、実際のSAXパーサ(QXmlSimpleReader)とDOMパーサ(QDomDocument)を提供しています。プロファイルにqt += xmlを追加すると、qmakeプロジェクトで有効にすることができます。

関連する問題