QXmlReader 類為 XML 讀取器 (即:剖析器) 提供接口。 更多...
| 頭: | #include <QXmlReader> |
| qmake: | QT += xml |
| 繼承者: |
該類已過時。 提供它是為使舊源代碼能繼續工作。強烈建議不要在新代碼中使用它。
注意: 此類的所有函數 可重入 .
| 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 ().