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 リーダすべてに対応するインタフェースを提供します。現在、QtのXMLモジュールに含まれるリーダの実装は1つだけです:QXmlSimpleReader.将来のリリースでは、異なるプロパティを持つリーダが増えるかもしれません(例えば、検証パーサ)。

XML クラスのデザインは、SAX2 Java インターフェースに準拠しており、Qt の命名規則に合わせて名前が変更されています。SAX2を扱ったことのある人なら誰でも、Qt XML

すべてのリーダーは、QXmlInputSource というクラスを使って入力文書を読みます。通常、XMLドキュメントの特定のコンテンツに興味があるので、リーダーは特別なハンドラ・クラス(QXmlDTDHandlerQXmlDeclHandlerQXmlContentHandlerQXmlEntityResolverQXmlErrorHandlerQXmlLexicalHandler )を通してコンテンツを報告します。

ハンドラ・クラスはインターフェイスを記述しているだけなので、すべての関数を実装する必要があります。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 という機能を持っていれば、その機能の値が返される。そのような機能が存在しない場合、戻り値は未定義である。

oknullptr でない場合 :*ok は、リーダーがname と呼ばれる特徴を持っていれば真に設定され、そうでなければ*ok は偽に設定される。

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 というプロパティを持つ場合、この関数はそのプロパティの値を返す。

oknullptr でない場合 : reader がname プロパティを持つ場合*ok は真に設定され、そうでない場合*ok は偽に設定される。

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()も参照のこと

© 2025 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.