このページでは

QXmlReader Class

QXmlReader クラスは、XML リーダー(すなわちパーサー)のためのインターフェースを提供します。詳細...

ヘッダー: #include <QXmlReader>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat
継承元:

QXmlSimpleReader

注:このクラスのすべての関数は再入可能です。

パブリック関数

virtual ~QXmlReader()
virtual QXmlDTDHandler *DTDHandler() const = 0
virtual QXmlContentHandler *contentHandler() const = 0
virtual QXmlDeclHandler *declHandler() const = 0
virtual QXmlEntityResolver *entityResolver() const = 0
virtual QXmlErrorHandler *errorHandler() const = 0
virtual bool feature(const QString &name, bool *ok = nullptr) const = 0
virtual bool hasFeature(const QString &name) const = 0
virtual bool hasProperty(const QString &name) const = 0
virtual QXmlLexicalHandler *lexicalHandler() const = 0
virtual bool parse(const QXmlInputSource *input) = 0
virtual void *property(const QString &name, bool *ok = nullptr) const = 0
virtual void setContentHandler(QXmlContentHandler *handler) = 0
virtual void setDTDHandler(QXmlDTDHandler *handler) = 0
virtual void setDeclHandler(QXmlDeclHandler *handler) = 0
virtual void setEntityResolver(QXmlEntityResolver *handler) = 0
virtual void setErrorHandler(QXmlErrorHandler *handler) = 0
virtual void setFeature(const QString &name, bool value) = 0
virtual void setLexicalHandler(QXmlLexicalHandler *handler) = 0
virtual void setProperty(const QString &name, void *value) = 0

詳細な説明

この抽象クラスは、Qt XML のすべての XML リーダーに対するインターフェースを提供します。現在、Qt XML モジュールに含まれているリーダーの実装は 1 つだけです:QXmlSimpleReader 。将来のリリースでは、異なる特性を持つリーダー(例えば、検証を行うパーサーなど)がさらに追加される可能性があります。

XMLクラスの設計はSAX2 Javaインターフェースに準拠しており、Qtの命名規則に合わせて名前が調整されています。SAX2を使用した経験がある方であれば、Qt XML クラスの使用を開始するのは非常に簡単でしょう。

すべてのリーダーは、入力ドキュメントを読み込むためにQXmlInputSource クラスを使用します。通常、XMLドキュメント内の特定のコンテンツに関心があるため、リーダーは特別なハンドラクラス(QXmlDTDHandler 、QXmlDeclHandler 、QXmlContentHandler 、QXmlEntityResolver 、QXmlErrorHandler 、QXmlLexicalHandler )を通じてコンテンツを報告します。コンテンツを処理したい場合は、これらのクラスをサブクラス化する必要があります。

これらのハンドラクラスはインターフェースのみを定義しているため、すべての関数を実装する必要があります。これを容易にするために、QXmlDefaultHandler クラスを用意しています。このクラスはすべての関数に対してデフォルトの動作(何もしない)を実装しているため、これをサブクラス化し、必要な関数だけを実装すれば済みます。

リーダーの機能やプロパティは、それぞれsetFeature()およびsetProperty()で設定できます。setEntityResolver()、setDTDHandler()、setContentHandler()、setErrorHandler()、setLexicalHandler()、setDeclHandler()を使用することで、独自のサブクラスをリーダーで使用するように設定できます。解析自体は、parse()の呼び出しによって開始されます。

なお、このクラスは現在非推奨となっています。XML ファイルの読み込みには、QXmlStreamReader または QDomDocument を使用してください。

QXmlSimpleReaderも参照してください 。

メンバ関数のドキュメント

[virtual noexcept] QXmlReader::~QXmlReader()

読者を打ちのめす。

[pure virtual] QXmlDTDHandler *QXmlReader::DTDHandler() const

DTDハンドラを返します。設定されていない場合は、nullptr を返します。

setDTDHandler()も参照してください 。

[pure virtual] QXmlContentHandler *QXmlReader::contentHandler() const

コンテンツハンドラを返します。設定されていない場合は、nullptr を返します。

setContentHandler()も参照してください 。

[pure virtual] QXmlDeclHandler *QXmlReader::declHandler() const

宣言ハンドラを返します。設定されていない場合は、nullptr を返します。

setDeclHandler()も参照してください 。

[pure virtual] QXmlEntityResolver *QXmlReader::entityResolver() const

エンティティ・リゾルバーを返します。設定されていない場合は、nullptr を返します。

setEntityResolver()も参照してください 。

[pure virtual] QXmlErrorHandler *QXmlReader::errorHandler() const

エラーハンドラを返します。設定されていない場合は、nullptr を返します。

setErrorHandler()も参照してください 。

[pure virtual] bool QXmlReader::feature(const QString &name, bool *ok = nullptr) const

リーダーに「name 」という機能がある場合、その機能の値が返されます。そのような機能が存在しない場合、戻り値は未定義となります。

ok がnullptr でない場合:*ok は、リーダーにname という機能がある場合にtrueに設定され、そうでない場合は*ok はfalseに設定されます。

setFeature() およびhasFeature()も参照してください 。

[pure virtual] bool QXmlReader::hasFeature(const QString &name) const

リーダーに「name 」という機能がある場合は `true ` を返し、そうでない場合は `false` を返します。

feature() およびsetFeature()も参照してください 。

[pure virtual] bool QXmlReader::hasProperty(const QString &name) const

リーダーがname というプロパティを持つ場合はtrue を返し、そうでない場合はfalse を返します。

property() およびsetProperty()も参照してください 。

[pure virtual] QXmlLexicalHandler *QXmlReader::lexicalHandler() const

レキシカルハンドラを返します。設定されていない場合は、nullptr を返します。

setLexicalHandler()も参照してください 。

[pure virtual] bool QXmlReader::parse(const QXmlInputSource *input)

input から XML ドキュメントを読み込み、それを解析します。解析が成功した場合は `true ` を返し、失敗した場合は `false` を返します。

[pure virtual] void *QXmlReader::property(const QString &name, bool *ok = nullptr) const

リーダーにname というプロパティがある場合、この関数はそのプロパティの値を返します。そうでない場合、戻り値は未定義となります。

ok がnullptr でない場合:リーダーがname プロパティ*ok を持っている場合は true に設定され、そうでない場合は*ok が false に設定されます。

setProperty() およびhasProperty()も参照してください 。

[pure virtual] void QXmlReader::setContentHandler(QXmlContentHandler *handler)

コンテンツハンドラをhandler に設定します。

contentHandler()も参照してください 。

[pure virtual] void QXmlReader::setDTDHandler(QXmlDTDHandler *handler)

DTDハンドラをhandler に設定します。

DTDHandler()も参照してください 。

[pure virtual] void QXmlReader::setDeclHandler(QXmlDeclHandler *handler)

宣言ハンドラーを `handler` に設定します。

declHandler()も参照してください 。

[pure virtual] void QXmlReader::setEntityResolver(QXmlEntityResolver *handler)

エンティティリゾルバーをhandler に設定します。

entityResolver()も参照してください 。

[pure virtual] void QXmlReader::setErrorHandler(QXmlErrorHandler *handler)

エラーハンドラを `handler` に設定します。handler が 0 の場合、エラーハンドラをクリアします。

errorHandler()も参照してください 。

[pure virtual] void QXmlReader::setFeature(const QString &name, bool value)

name という機能を、指定されたvalue に設定します。リーダーにこの機能がない場合は、何も起こりません。

feature() およびhasFeature()も参照してください 。

[pure virtual] void QXmlReader::setLexicalHandler(QXmlLexicalHandler *handler)

レキシカルハンドラを `handler` に設定します。

lexicalHandler()も参照してください 。

[pure virtual] void QXmlReader::setProperty(const QString &name, void *value)

プロパティ `name ` を `value` に設定します。リーダーにこのプロパティがない場合は、何も起こりません。

property() およびhasProperty()も参照してください 。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.