QXmlReader 類

QXmlReader 類為 XML 讀取器 (即:剖析器) 提供接口。 更多...

頭: #include <QXmlReader>
qmake: QT += xml
繼承者:

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 模塊隻包括一讀取器實現: QXmlSimpleReader 。在未來發行中,可能有更多具有不同可用特性的讀取器 (如:驗證剖析器)。

XML 類的設計遵循 SAX2 Java 接口 ,采用名稱擬閤適應 Qt 命名約定。對於任何操作過 SAX2 的人來說,入門采用 Qt XML 類應該是很容易的。

所有讀取器使用類 QXmlInputSource 以讀取輸入文檔。由於通常對 XML 文檔內容尤其感興趣,因此讀取器報告內容是透過特殊處理程序類 ( QXmlDTDHandler , QXmlDeclHandler , QXmlContentHandler , QXmlEntityResolver , QXmlErrorHandler and QXmlLexicalHandler ) 且必須子類化,若想要處理內容。

由於處理程序類僅描述接口,因此必須實現所有功能。我們提供 QXmlDefaultHandler 類使這變得更容易:它為所有功能實現默認行為 (什麼都不做),因此可以子類化它並僅實現感興趣功能。

可以設置讀取器的特徵和特性采用 setFeature () 和 setProperty () 分彆。可以將讀取器設為使用自己的子類采用 setEntityResolver (), setDTDHandler (), setContentHandler (), setErrorHandler (), setLexicalHandler () 和 setDeclHandler ()。開始解析本身采用調用 parse ().

注意:此類現被棄用,請使用 QXmlStreamReader or QDomDocument for reading XML files.

另請參閱 QXmlSimpleReader .

成員函數文檔編製

[虛擬] 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 被設為 true 若讀取器擁有的特徵稱為 name ;否則 * ok 被設為 false。

另請參閱 setFeature () 和 hasFeature ().

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

返迴 true 若讀取器擁有的特徵稱為 name ;否則返迴 false .

另請參閱 feature () 和 setFeature ().

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

返迴 true 若讀取器擁有特性 name ;否則返迴 false .

另請參閱 property () 和 setProperty ().

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

返迴詞法處理程序或 nullptr 若未設置。

另請參閱 setLexicalHandler ().

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

讀取 XML 文檔從 input 並剖析它。返迴 true 若剖析成功;否則返迴 false .

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

若讀取器擁有特性 name ,此函數返迴特性值;否則返迴值未定義。

ok 不是 nullptr :若讀取器擁有 name property * 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 to value 。若讀取器沒有特性,則什麼都不發生。

另請參閱 property () 和 hasProperty ().