<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # QXmlStreamReader Class Reference ## [[QtCore](index.htm) module] 該QXmlStreamReader類提供了一種快速分析器通過一個簡單的流API讀取格式良好的XML 。[More...](#details) ### Types * `enum Error { NoError, UnexpectedElementError, CustomError, NotWellFormedError, PrematureEndOfDocumentError }` * `enum ReadElementTextBehaviour { ErrorOnUnexpectedElement, IncludeChildElements, SkipChildElements }` * `enum TokenType { NoToken, Invalid, StartDocument, EndDocument, ..., ProcessingInstruction }` ### Methods * `__init__ (self)` * `__init__ (self, QIODevice?device)` * `__init__ (self, QByteArray?data)` * `__init__ (self, QString?data)` * `addData (self, QByteArray?data)` * `addData (self, QString?data)` * `addExtraNamespaceDeclaration (self, QXmlStreamNamespaceDeclaration?extraNamespaceDeclaraction)` * `addExtraNamespaceDeclarations (self, list-of-QXmlStreamNamespaceDeclaration?extraNamespaceDeclaractions)` * `bool atEnd (self)` * `QXmlStreamAttributes attributes (self)` * `int characterOffset (self)` * `clear (self)` * `int columnNumber (self)` * `QIODevice device (self)` * `QStringRef documentEncoding (self)` * `QStringRef documentVersion (self)` * `QStringRef dtdName (self)` * `QStringRef dtdPublicId (self)` * `QStringRef dtdSystemId (self)` * `list-of-QXmlStreamEntityDeclaration entityDeclarations (self)` * `QXmlStreamEntityResolver entityResolver (self)` * `Error error (self)` * `QString errorString (self)` * `bool hasError (self)` * `bool isCDATA (self)` * `bool isCharacters (self)` * `bool isComment (self)` * `bool isDTD (self)` * `bool isEndDocument (self)` * `bool isEndElement (self)` * `bool isEntityReference (self)` * `bool isProcessingInstruction (self)` * `bool isStandaloneDocument (self)` * `bool isStartDocument (self)` * `bool isStartElement (self)` * `bool isWhitespace (self)` * `int lineNumber (self)` * `QStringRef name (self)` * `list-of-QXmlStreamNamespaceDeclaration namespaceDeclarations (self)` * `bool namespaceProcessing (self)` * `QStringRef namespaceUri (self)` * `list-of-QXmlStreamNotationDeclaration notationDeclarations (self)` * `QStringRef prefix (self)` * `QStringRef processingInstructionData (self)` * `QStringRef processingInstructionTarget (self)` * `QStringRef qualifiedName (self)` * `raiseError (self, QString?message?=?QString())` * `QString readElementText (self)` * `QString readElementText (self, ReadElementTextBehaviour?behaviour)` * `TokenType readNext (self)` * `bool readNextStartElement (self)` * `setDevice (self, QIODevice?device)` * `setEntityResolver (self, QXmlStreamEntityResolver?resolver)` * `setNamespaceProcessing (self, bool)` * `skipCurrentElement (self)` * `QStringRef text (self)` * `QString tokenString (self)` * `TokenType tokenType (self)` * * * ## Detailed Description 該QXmlStreamReader類提供了一種快速分析器通過一個簡單的流API讀取格式良好的XML 。 QXmlStreamReader是更快,更方便的替代Qt自己的SAX解析器(見[QXmlSimpleReader](qxmlsimplereader.html)) 。在某些情況下它也可能用于,否則將使用DOM樹的應用程序更快,更方便的選擇(見[QDomDocument](qdomdocument.html)) 。 QXmlStreamReader讀取無論是從數據[QIODevice](qiodevice.html)(見[setDevice](qxmlstreamreader.html#setDevice)()),或者從一個原[QByteArray](qbytearray.html)(見[addData](qxmlstreamreader.html#addData)())。 Qt提供[QXmlStreamWriter](qxmlstreamwriter.html)用于編寫XML 。 流讀取器的基本概念是報告一個XML文檔作為標記,類似于SAX流。 QXmlStreamReader和SAX之間的主要區別在于_how_這些XML標記的報告。使用SAX ,應用程序必須提供處理程序(回調函數)接受所謂的XML_events_從解析器在解析器的便利性。與QXmlStreamReader ,應用程序代碼本身驅動環路和拉_tokens_從閱讀器,一個接一個,因為它需要他們。這是通過調用完成[readNext](qxmlstreamreader.html#readNext)( ) ,那里的讀者從輸入流中讀取,直到它完成下一個標記,此時它返回[tokenType](qxmlstreamreader.html#tokenType)( ) 。一組方便的功能,包括[isStartElement](qxmlstreamreader.html#isStartElement)()和[text](qxmlstreamreader.html#text)( )然后可以用于檢查令牌以獲取有關什么已被讀取的信息。這樣做的好處大_pulling_方法是建立遞歸下降解析器與它,這意味著你可以很容易地分割你的XML解析代碼分成不同的方法或類的可能性。這可以很容易地解析XML時,跟蹤應用程序自身的狀態。 一個典型的循環與QXmlStreamReader看起來像這樣: ``` QXmlStreamReader xml; ... while (!xml.atEnd()) { xml.readNext(); ... // do processing } if (xml.hasError()) { ... // do error handling } ``` QXmlStreamReader是一個格式良好的XML解析器1.0 ,做_not_包括外部解析實體。只要不發生錯誤,應用程序代碼可以因此放心,用流讀取器提供的數據符合W3C的標準格式良好的XML 。例如,你可以肯定,所有的標籤確實嵌套和正確關閉,即引用內部實體已被替換為正確的替換文本,并根據DTD的內部子集的屬性已歸或添加。 如果在解析出現錯誤,[atEnd](qxmlstreamreader.html#atEnd)()和[hasError](qxmlstreamreader.html#hasError)( )返回True ,并且[error](qxmlstreamreader.html#error)()返回所發生的錯誤。該功能[errorString](qxmlstreamreader.html#errorString)( )[lineNumber](qxmlstreamreader.html#lineNumber)( )[columnNumber](qxmlstreamreader.html#columnNumber)()和[characterOffset](qxmlstreamreader.html#characterOffset)( )是構造一個適當的錯誤或警告消息。為了簡化應用程序代碼, QXmlStreamReader包含一個[raiseError](qxmlstreamreader.html#raiseError)()機制,可以讓你提高觸發描述的相同的錯誤處理自定義錯誤。 該[QXmlStream Bookmarks Example](index.htm)說明如何使用遞歸下降方法讀取XML文件的書籤( XBEL )用流讀取器。 ### Namespaces QXmlStream理解和解決XML命名空間。例如在殼體的[StartElement](qxmlstreamreader.html#TokenType-enum),[namespaceUri](qxmlstreamreader.html#namespaceUri)( )返回的元素是在命名空間中,[name](qxmlstreamreader.html#name)( )返回元素的_local_名稱。則namespaceURI和名稱的組合唯一地標識一個元素。如果一個命名空間前綴由讀者解析的XML實體未聲明,則namespaceURI是空的。 如果您解析XML數據,不使用命名空間,根據XML規范或根本不使用命名空間,可以使用元素的[qualifiedName](qxmlstreamreader.html#qualifiedName)( )來代替。一個合格的名稱是元素的[prefix](qxmlstreamreader.html#prefix)( ),其次是冒號后面元素的地方[name](qxmlstreamreader.html#name)( ) - 完全一樣的元素出現在原始的XML數據。由于映射的namespaceURI前綴既不是唯一也不是萬能,[qualifiedName](qxmlstreamreader.html#qualifiedName)( )應避免命名空間兼容的XML數據。 為了解析獨立文檔確實使用未聲明的命名空間前綴,你可以完全關閉名稱空間處理與[namespaceProcessing](qxmlstreamreader.html#namespaceProcessing-prop)屬性。 ### Incremental parsing QXmlStreamReader是一個漸進的解析器。它可以處理其中的文件不能被解析一次全部,因為它在塊到達(例如,從多個文件,或通過網絡連接)的情況下。當讀寫器運行的數據完整的文檔被解析之前,它會報告[PrematureEndOfDocumentError](qxmlstreamreader.html#Error-enum)。當更多的數據到達,或者是因為一個電話來[addData](qxmlstreamreader.html#addData)( )或者是因為更多的數據可通過網絡[device](qxmlstreamreader.html#device)()時,閱讀器從恢復[PrematureEndOfDocumentError](qxmlstreamreader.html#Error-enum)錯誤并繼續與下一個調用解析新數據[readNext](qxmlstreamreader.html#readNext)( ) 。 例如,如果你的應用程序從網絡讀取數據使用[network access manager](qnetworkaccessmanager.html),你會發出[network request](qnetworkrequest.html)給經理,并獲得[network reply](qnetworkreply.html)作為回報。由于[QNetworkReply](qnetworkreply.html)是[QIODevice](qiodevice.html),您連接其[readyRead()](qiodevice.html#readyRead)信號到一個自定義的插槽,如`slotReadyRead()`在為討論的代碼段[QNetworkAccessManager](qnetworkaccessmanager.html)。在此插槽,可以讀取所有可用的數據與[readAll()](qiodevice.html#readAll)并利用它傳遞給XML流讀取器[addData](qxmlstreamreader.html#addData)( ) 。然后你打電話給你的自定義分析功能,讀取從讀者的XML事件。 ### Performance and memory consumption QXmlStreamReader是內存保守的設計,因為它并不存儲整個XML文檔樹在內存中,但只有在當時的當前令牌有報導。此外, QXmlStreamReader避免了許多小的串分配,它通常需要將XML文檔映射到一個方便和Qt十歲上下的API 。它通過報告所有的字符串數據作為執行此操作[QStringRef](qstringref.html)而不是真正的[QString](qstring.html)對象。[QStringRef](qstringref.html)是一個簡單包裝的[QString](qstring.html)子,它提供的一個子集[QString](qstring.html)API,而內存分配和引用計數的開銷。調用[toString()](qstringref.html#toString)在任何這些對象返回一個等價的真實[QString](qstring.html)對象。 * * * ## Type Documentation ``` QXmlStreamReader.Error ``` 此枚舉指定不同的錯誤情況 | Constant | Value | Description | | --- | --- | --- | | `QXmlStreamReader.NoError` | `0` | 沒有發生錯誤。 | | `QXmlStreamReader.CustomError` | `2` | 一個自定義的錯誤已被提出與[raiseError](qxmlstreamreader.html#raiseError)( ) | | `QXmlStreamReader.NotWellFormedError` | `3` | 解析器內部,由于讀取XML并非良好的引發錯誤。 | | `QXmlStreamReader.PrematureEndOfDocumentError` | `4` | 輸入流結束一個格式良好的XML文檔被解析之前。恢復從這個錯誤是可能的,如果更多的XML到達流中,通過調用[addData](qxmlstreamreader.html#addData)( )或等待它的到來[device](qxmlstreamreader.html#device)( ) 。 | | `QXmlStreamReader.UnexpectedElementError` | `1` | 解析器遇到了有別于其預期的元素。 | ``` QXmlStreamReader.ReadElementTextBehaviour ``` 這個枚舉指定的不同的行為[readElementText](qxmlstreamreader.html#readElementText)( ) 。 | Constant | Value | Description | | --- | --- | --- | | `QXmlStreamReader.ErrorOnUnexpectedElement` | `0` | 引發[UnexpectedElementError](qxmlstreamreader.html#Error-enum)并返回什么,到目前為止的子元素時遇到被讀取。 | | `QXmlStreamReader.IncludeChildElements` | `1` | 遞歸包括子元素的文本。 | | `QXmlStreamReader.SkipChildElements` | `2` | 跳過子元素。 | 這個枚舉被引入或修改的Qt 4.6 。 ``` QXmlStreamReader.TokenType ``` 此枚舉指定剛讀標記閱讀器的類型。 | Constant | Value | Description | | --- | --- | --- | | `QXmlStreamReader.NoToken` | `0` | 讀者還沒有讀什么。 | | `QXmlStreamReader.Invalid` | `1` | 發生錯誤,報告[error](qxmlstreamreader.html#error)()和[errorString](qxmlstreamreader.html#errorString)( ) 。 | | `QXmlStreamReader.StartDocument` | `2` | 讀者報告中的XML版本號[documentVersion](qxmlstreamreader.html#documentVersion)() ,和在XML文檔中指定的編碼[documentEncoding](qxmlstreamreader.html#documentEncoding)( ) 。如果文檔被宣告獨立,[isStandaloneDocument](qxmlstreamreader.html#isStandaloneDocument)( )返回True ,否則返回False 。 | | `QXmlStreamReader.EndDocument` | `3` | 讀者報告文件的末尾。 | | `QXmlStreamReader.StartElement` | `4` | 讀者報告與元素的起始[namespaceUri](qxmlstreamreader.html#namespaceUri)()和[name](qxmlstreamreader.html#name)( ) 。空的元素也報導的StartElement ,直接跟著的EndElement 。便利的功能[readElementText](qxmlstreamreader.html#readElementText)( )可以調用來連接所有的內容,直到相應的endElement 。屬性報告[attributes](qxmlstreamreader.html#attributes)( ) ,命名空間聲明[namespaceDeclarations](qxmlstreamreader.html#namespaceDeclarations)( ) 。 | | `QXmlStreamReader.EndElement` | `5` | 讀者報告用元件的端部[namespaceUri](qxmlstreamreader.html#namespaceUri)()和[name](qxmlstreamreader.html#name)( ) 。 | | `QXmlStreamReader.Characters` | `6` | 讀者報告中的字符[text](qxmlstreamreader.html#text)( ) 。如果字符都是空白,[isWhitespace](qxmlstreamreader.html#isWhitespace)( )返回True 。如果字符CDATA節莖,[isCDATA](qxmlstreamreader.html#isCDATA)( )返回True 。 | | `QXmlStreamReader.Comment` | `7` | 讀者報告的意見[text](qxmlstreamreader.html#text)( ) 。 | | `QXmlStreamReader.DTD` | `8` | 讀者報告在DTD[text](qxmlstreamreader.html#text)( ) ,表示法聲明[notationDeclarations](qxmlstreamreader.html#notationDeclarations)在( ) ,和實體聲明[entityDeclarations](qxmlstreamreader.html#entityDeclarations)( ) 。 DTD的聲明的詳細報告中[dtdName](qxmlstreamreader.html#dtdName)( )[dtdPublicId](qxmlstreamreader.html#dtdPublicId)()和[dtdSystemId](qxmlstreamreader.html#dtdSystemId)( ) 。 | | `QXmlStreamReader.EntityReference` | `9` | 讀者報告一個實體引用不能被解決。引用的名稱是報告[name](qxmlstreamreader.html#name)( ) ,在替換文本[text](qxmlstreamreader.html#text)( ) 。 | | `QXmlStreamReader.ProcessingInstruction` | `10` | 讀者報告在一個處理指令[processingInstructionTarget](qxmlstreamreader.html#processingInstructionTarget)()和[processingInstructionData](qxmlstreamreader.html#processingInstructionData)( ) 。 | * * * ## Method Documentation ``` QXmlStreamReader.__init__ (self) ``` 構造一個流讀取器。 **See also** [setDevice](qxmlstreamreader.html#setDevice)()和[addData](qxmlstreamreader.html#addData)( ) 。 ``` QXmlStreamReader.__init__ (self, QIODevice?device) ``` 創建一個新的流讀取器的讀取_device_。 **See also** [setDevice](qxmlstreamreader.html#setDevice)()和[clear](qxmlstreamreader.html#clear)( ) 。 ``` QXmlStreamReader.__init__ (self, QByteArray?data) ``` 創建一個新的流讀取器的讀取_data_。 **See also** [addData](qxmlstreamreader.html#addData)( )[clear](qxmlstreamreader.html#clear)()和[setDevice](qxmlstreamreader.html#setDevice)( ) 。 ``` QXmlStreamReader.__init__ (self, QString?data) ``` 創建一個新的流讀取器的讀取_data_。 **See also** [addData](qxmlstreamreader.html#addData)( )[clear](qxmlstreamreader.html#clear)()和[setDevice](qxmlstreamreader.html#setDevice)( ) 。 ``` QXmlStreamReader.addData (self, QByteArray?data) ``` 增加了更多的_data_為讀者閱讀。這個函數做什么,如果讀者有一個[device](qxmlstreamreader.html#device)( ) 。 **See also** [readNext](qxmlstreamreader.html#readNext)()和[clear](qxmlstreamreader.html#clear)( ) 。 ``` QXmlStreamReader.addData (self, QString?data) ``` 增加了更多的_data_為讀者閱讀。這個函數做什么,如果讀者有一個[device](qxmlstreamreader.html#device)( ) 。 **See also** [readNext](qxmlstreamreader.html#readNext)()和[clear](qxmlstreamreader.html#clear)( ) 。 ``` QXmlStreamReader.addExtraNamespaceDeclaration (self, QXmlStreamNamespaceDeclaration?extraNamespaceDeclaraction) ``` 增加了一個_extraNamespaceDeclaration_。該聲明的有效期為當前元素的子元素,或者 - 應函數被調用讀取任何元素之前 - 對整個XML文檔。 此功能被引入Qt的4.4 。 **See also** [namespaceDeclarations](qxmlstreamreader.html#namespaceDeclarations)( )[addExtraNamespaceDeclarations](qxmlstreamreader.html#addExtraNamespaceDeclarations)()和[setNamespaceProcessing](qxmlstreamreader.html#namespaceProcessing-prop)( ) 。 ``` QXmlStreamReader.addExtraNamespaceDeclarations (self, list-of-QXmlStreamNamespaceDeclaration?extraNamespaceDeclaractions) ``` 添加的聲明由指定的向量_extraNamespaceDeclarations_。 此功能被引入Qt的4.4 。 **See also** [namespaceDeclarations](qxmlstreamreader.html#namespaceDeclarations)()和[addExtraNamespaceDeclaration](qxmlstreamreader.html#addExtraNamespaceDeclaration)( ) 。 ``` bool QXmlStreamReader.atEnd (self) ``` 返回True如果讀者已閱讀,直到XML文檔的末尾,或者如果[error](qxmlstreamreader.html#error)( )已經發生和閱讀已經中止。否則,返回False 。 當了atEnd ()和[hasError](qxmlstreamreader.html#hasError)( )返回True和[error](qxmlstreamreader.html#error)()返回[PrematureEndOfDocumentError](qxmlstreamreader.html#Error-enum),這意味著XML得到了很好的形成,到目前為止,而是一個完整的XML文檔還沒有被解析。 XML的下一組塊可以被添加[addData](qxmlstreamreader.html#addData)() ,如果XML正在從讀[QByteArray](qbytearray.html),或通過等待更多的數據到達如果XML正在從讀[QIODevice](qiodevice.html)。無論哪種方式,了atEnd ()一次以上數據可將返回False 。 **See also** [hasError](qxmlstreamreader.html#hasError)( )[error](qxmlstreamreader.html#error)( )[device](qxmlstreamreader.html#device)()和[QIODevice.atEnd](qiodevice.html#atEnd)( ) 。 ``` QXmlStreamAttributes QXmlStreamReader.attributes (self) ``` [](qxmlstreamattributes.html) [返回一個屬性](qxmlstreamattributes.html)[StartElement](qxmlstreamreader.html#TokenType-enum)。 ``` int QXmlStreamReader.characterOffset (self) ``` 返回當前字符的偏移,從0開始。 **See also** [lineNumber](qxmlstreamreader.html#lineNumber)()和[columnNumber](qxmlstreamreader.html#columnNumber)( ) 。 ``` QXmlStreamReader.clear (self) ``` 刪除任何[device](qxmlstreamreader.html#device)()或來自讀出器的數據和復位它的內部狀態為初始狀態。 **See also** [addData](qxmlstreamreader.html#addData)( ) 。 ``` int QXmlStreamReader.columnNumber (self) ``` 返回當前列號,從0開始。 **See also** [lineNumber](qxmlstreamreader.html#lineNumber)()和[characterOffset](qxmlstreamreader.html#characterOffset)( ) 。 ``` QIODevice QXmlStreamReader.device (self) ``` [](qiodevice.html) [返回與關聯的當前設備](qiodevice.html)[QXmlStreamReader](qxmlstreamreader.html),或者0,如果沒有設備已經被分配。 **See also** [setDevice](qxmlstreamreader.html#setDevice)( ) 。 ``` QStringRef QXmlStreamReader.documentEncoding (self) ``` 如果狀態( )是[StartDocument](qxmlstreamreader.html#TokenType-enum),這個函數返回的XML聲明中指定的編碼字符串。否則返回空字符串。 此功能被引入Qt的4.4 。 ``` QStringRef QXmlStreamReader.documentVersion (self) ``` 如果狀態( )是[StartDocument](qxmlstreamreader.html#TokenType-enum),這個函數返回的XML聲明中指定的版本字符串。否則返回空字符串。 此功能被引入Qt的4.4 。 ``` QStringRef QXmlStreamReader.dtdName (self) ``` 如果狀態( )是[DTD](qxmlstreamreader.html#TokenType-enum),這個函數返回的DTD的名字。否則返回空字符串。 此功能被引入Qt的4.4 。 ``` QStringRef QXmlStreamReader.dtdPublicId (self) ``` 如果狀態( )是[DTD](qxmlstreamreader.html#TokenType-enum),這個函數返回的DTD的公共標識符。否則返回空字符串。 此功能被引入Qt的4.4 。 ``` QStringRef QXmlStreamReader.dtdSystemId (self) ``` 如果狀態( )是[DTD](qxmlstreamreader.html#TokenType-enum),這個函數返回的DTD的系統標識符。否則返回空字符串。 此功能被引入Qt的4.4 。 ``` list-of-QXmlStreamEntityDeclaration QXmlStreamReader.entityDeclarations (self) ``` 如果狀態( )是[DTD](qxmlstreamreader.html#TokenType-enum),這個函數返回的DTD的非解析(外部)實體聲明。否則,一個空向量被返回。 該 [QXmlStreamEntityDeclarations](qxmlstreamentitydeclaration.html#QXmlStreamEntityDeclarations-typedef)類被定義為一個[QVector](index.htm)的[QXmlStreamEntityDeclaration](qxmlstreamentitydeclaration.html)。 ``` QXmlStreamEntityResolver QXmlStreamReader.entityResolver (self) ``` [ 返回的實體解析器,或者0 ,如果沒有實體解析器。 此功能被引入Qt的4.4 。 ](qxmlstreamentityresolver.html) [**See also**](qxmlstreamentityresolver.html) [setEntityResolver](qxmlstreamreader.html#setEntityResolver)( ) 。 ``` Error QXmlStreamReader.error (self) ``` [](qxmlstreamreader.html#Error-enum) [返回當前錯誤的類型,或者](qxmlstreamreader.html#Error-enum)[NoError](qxmlstreamreader.html#Error-enum)如果沒有發生錯誤。 **See also** [errorString](qxmlstreamreader.html#errorString)()和[raiseError](qxmlstreamreader.html#raiseError)( ) 。 ``` QString QXmlStreamReader.errorString (self) ``` 返回設置并顯示錯誤消息[raiseError](qxmlstreamreader.html#raiseError)( ) 。 **See also** [error](qxmlstreamreader.html#error)( )[lineNumber](qxmlstreamreader.html#lineNumber)( )[columnNumber](qxmlstreamreader.html#columnNumber)()和[characterOffset](qxmlstreamreader.html#characterOffset)( ) 。 ``` bool QXmlStreamReader.hasError (self) ``` Returns `true`如果發生了錯誤,否則`false`。 **See also** [errorString](qxmlstreamreader.html#errorString)()和[error](qxmlstreamreader.html#error)( ) 。 ``` bool QXmlStreamReader.isCDATA (self) ``` 返回True如果讀者報導說, CDATA節莖字符,否則返回False 。 **See also** [isCharacters](qxmlstreamreader.html#isCharacters)()和[text](qxmlstreamreader.html#text)( ) 。 ``` bool QXmlStreamReader.isCharacters (self) ``` 返回True如果[tokenType](qxmlstreamreader.html#tokenType)( )等于[Characters](qxmlstreamreader.html#TokenType-enum)否則返回False 。 **See also** [isWhitespace](qxmlstreamreader.html#isWhitespace)()和[isCDATA](qxmlstreamreader.html#isCDATA)( ) 。 ``` bool QXmlStreamReader.isComment (self) ``` 返回True如果[tokenType](qxmlstreamreader.html#tokenType)( )等于[Comment](qxmlstreamreader.html#TokenType-enum)否則返回False 。 ``` bool QXmlStreamReader.isDTD (self) ``` 返回True如果[tokenType](qxmlstreamreader.html#tokenType)( )等于[DTD](qxmlstreamreader.html#TokenType-enum)否則返回False 。 ``` bool QXmlStreamReader.isEndDocument (self) ``` 返回True如果[tokenType](qxmlstreamreader.html#tokenType)( )等于[EndDocument](qxmlstreamreader.html#TokenType-enum)否則返回False 。 ``` bool QXmlStreamReader.isEndElement (self) ``` 返回True如果[tokenType](qxmlstreamreader.html#tokenType)( )等于[EndElement](qxmlstreamreader.html#TokenType-enum)否則返回False 。 ``` bool QXmlStreamReader.isEntityReference (self) ``` 返回True如果[tokenType](qxmlstreamreader.html#tokenType)( )等于[EntityReference](qxmlstreamreader.html#TokenType-enum)否則返回False 。 ``` bool QXmlStreamReader.isProcessingInstruction (self) ``` 返回True如果[tokenType](qxmlstreamreader.html#tokenType)( )等于[ProcessingInstruction](qxmlstreamreader.html#TokenType-enum)否則返回False 。 ``` bool QXmlStreamReader.isStandaloneDocument (self) ``` 返回True如果該文檔已被宣布為獨立的XML聲明,否則返回False 。 如果沒有XML聲明被解析,這個函數返回False 。 ``` bool QXmlStreamReader.isStartDocument (self) ``` 返回True如果[tokenType](qxmlstreamreader.html#tokenType)( )等于[StartDocument](qxmlstreamreader.html#TokenType-enum)否則返回False 。 ``` bool QXmlStreamReader.isStartElement (self) ``` 返回True如果[tokenType](qxmlstreamreader.html#tokenType)( )等于[StartElement](qxmlstreamreader.html#TokenType-enum)否則返回False 。 ``` bool QXmlStreamReader.isWhitespace (self) ``` 返回True如果讀者報導的字符,只包含空格,否則返回False 。 **See also** [isCharacters](qxmlstreamreader.html#isCharacters)()和[text](qxmlstreamreader.html#text)( ) 。 ``` int QXmlStreamReader.lineNumber (self) ``` 返回當前行號,從1開始。 **See also** [columnNumber](qxmlstreamreader.html#columnNumber)()和[characterOffset](qxmlstreamreader.html#characterOffset)( ) 。 ``` QStringRef QXmlStreamReader.name (self) ``` 返回的本地名稱[StartElement](qxmlstreamreader.html#TokenType-enum),[EndElement](qxmlstreamreader.html#TokenType-enum),或[EntityReference](qxmlstreamreader.html#TokenType-enum)。 **See also** [namespaceUri](qxmlstreamreader.html#namespaceUri)()和[qualifiedName](qxmlstreamreader.html#qualifiedName)( ) 。 ``` list-of-QXmlStreamNamespaceDeclaration QXmlStreamReader.namespaceDeclarations (self) ``` 如果狀態( )是[StartElement](qxmlstreamreader.html#TokenType-enum),這個函數返回元素的命名空間聲明。否則,一個空向量被返回。 該[QXmlStreamNamespaceDeclaration](qxmlstreamnamespacedeclaration.html)類被定義為一個[QVector](index.htm)的[QXmlStreamNamespaceDeclaration](qxmlstreamnamespacedeclaration.html)。 **See also** [addExtraNamespaceDeclaration](qxmlstreamreader.html#addExtraNamespaceDeclaration)()和[addExtraNamespaceDeclarations](qxmlstreamreader.html#addExtraNamespaceDeclarations)( ) 。 ``` bool QXmlStreamReader.namespaceProcessing (self) ``` ``` QStringRef QXmlStreamReader.namespaceUri (self) ``` 返回的則namespaceURI[StartElement](qxmlstreamreader.html#TokenType-enum) or [EndElement](qxmlstreamreader.html#TokenType-enum)。 **See also** [name](qxmlstreamreader.html#name)()和[qualifiedName](qxmlstreamreader.html#qualifiedName)( ) 。 ``` list-of-QXmlStreamNotationDeclaration QXmlStreamReader.notationDeclarations (self) ``` 如果狀態( )是[DTD](qxmlstreamreader.html#TokenType-enum),這個函數返回的DTD的符號聲明。否則,一個空向量被返回。 該 [QXmlStreamNotationDeclarations](qxmlstreamnotationdeclaration.html#QXmlStreamNotationDeclarations-typedef)類被定義為一個[QVector](index.htm)的[QXmlStreamNotationDeclaration](qxmlstreamnotationdeclaration.html)。 ``` QStringRef QXmlStreamReader.prefix (self) ``` 返回一個前綴[StartElement](qxmlstreamreader.html#TokenType-enum) or [EndElement](qxmlstreamreader.html#TokenType-enum)。 此功能被引入Qt的4.4 。 **See also** [name](qxmlstreamreader.html#name)()和[qualifiedName](qxmlstreamreader.html#qualifiedName)( ) 。 ``` QStringRef QXmlStreamReader.processingInstructionData (self) ``` 返回的數據[ProcessingInstruction](qxmlstreamreader.html#TokenType-enum)。 ``` QStringRef QXmlStreamReader.processingInstructionTarget (self) ``` 返回一個目標[ProcessingInstruction](qxmlstreamreader.html#TokenType-enum)。 ``` QStringRef QXmlStreamReader.qualifiedName (self) ``` 返回一個合格的名稱[StartElement](qxmlstreamreader.html#TokenType-enum) or [EndElement](qxmlstreamreader.html#TokenType-enum); 一個合格的名稱是XML數據元素的原始名稱。它由一個命名空間前綴,后跟冒號,然后是元素的本地名稱。由于命名空間前綴不是唯一的(相同的前綴可以指向不同的命名空間和不同的前綴可以指向同一個命名空間) ,你不應該使用qualifiedName中( ) ,而解析[namespaceUri](qxmlstreamreader.html#namespaceUri)( )和屬性的本地[name](qxmlstreamreader.html#name)( ) 。 **See also** [name](qxmlstreamreader.html#name)( )[prefix](qxmlstreamreader.html#prefix)()和[namespaceUri](qxmlstreamreader.html#namespaceUri)( ) 。 ``` QXmlStreamReader.raiseError (self, QString?message?=?QString()) ``` 引發自定義錯誤有一個可選的錯誤_message_。 **See also** [error](qxmlstreamreader.html#error)()和[errorString](qxmlstreamreader.html#errorString)( ) 。 ``` QString QXmlStreamReader.readElementText (self) ``` 便利函數被調用的情況下,[StartElement](qxmlstreamreader.html#TokenType-enum)被讀取。讀取,直到相應的[EndElement](qxmlstreamreader.html#TokenType-enum)并返回兩者之間的所有文本。在案件沒有錯誤,則當前的標記(見[tokenType](qxmlstreamreader.html#tokenType)( ) )已調用該函數后[EndElement](qxmlstreamreader.html#TokenType-enum)。 該函數將[text](qxmlstreamreader.html#text)( )時,它讀取要么[Characters](qxmlstreamreader.html#TokenType-enum) or [EntityReference](qxmlstreamreader.html#TokenType-enum)令牌,但跳過[ProcessingInstruction](qxmlstreamreader.html#TokenType-enum)和[Comment](qxmlstreamreader.html#TokenType-enum)。如果當前標記是不是[StartElement](qxmlstreamreader.html#TokenType-enum),則返回一個空字符串。 該_behaviour_定義的情況下會發生什么別的到達之前被讀取[EndElement](qxmlstreamreader.html#TokenType-enum)。該函數可以從子元素(例如用于HTML有用)包括文本,忽略子元素,或引發[UnexpectedElementError](qxmlstreamreader.html#Error-enum)并返回什么,到目前為止被讀取。 此功能被引入Qt的4.6 。 ``` QString QXmlStreamReader.readElementText (self, ReadElementTextBehaviour?behaviour) ``` 這個函數的重載[readElementText](qxmlstreamreader.html#readElementText)( ) 。 調用此函數相當于調用readElementText ([ErrorOnUnexpectedElement](qxmlstreamreader.html#ReadElementTextBehaviour-enum)) 。 ``` TokenType QXmlStreamReader.readNext (self) ``` [ 讀取下一個標記,并返回它的類型。 ](qxmlstreamreader.html#TokenType-enum) [但有一個例外,一旦](qxmlstreamreader.html#TokenType-enum)[error](qxmlstreamreader.html#error)( )據悉,由readNext ( ) ,進一步閱讀的XML流是不可能的。然后[atEnd](qxmlstreamreader.html#atEnd)( )返回True ,[hasError](qxmlstreamreader.html#hasError)( )返回True ,并且該函數返回[QXmlStreamReader.Invalid](qxmlstreamreader.html#TokenType-enum)。 唯一的例外是當[error](qxmlstreamreader.html#error)()返回[PrematureEndOfDocumentError](qxmlstreamreader.html#Error-enum)。報告該錯誤,當達到的XML的其他良好的組塊的結尾,但組塊不表示一個完整的XML文檔。在這種情況下,語法分析_can_通過調用恢復[addData](qxmlstreamreader.html#addData)()添加XML中,為下一個塊時,流被從讀[QByteArray](qbytearray.html)或通過等待更多數據時,該數據流是從一個讀到達[device](qxmlstreamreader.html#device)( ) 。 **See also** [tokenType](qxmlstreamreader.html#tokenType)()和[tokenString](qxmlstreamreader.html#tokenString)( ) 。 ``` bool QXmlStreamReader.readNextStartElement (self) ``` 直到讀取當前元素內的下一個開始元素。當開始元素達成,則返回True 。當結束元素達到或發生錯誤時,則返回False。 當前元素是匹配的,其中一個匹配端元件尚未達到最新分析的開始元素的元素。當解析器已經走到了盡頭元素,當前元素變為父元素。 你可以通過重復調用這個函數,同時確保數據流的讀者是不是在文檔的末尾遍歷一個文件: ``` [QXmlStreamReader](qxmlstreamreader.html) xs(&file); while (!xs.atEnd()) { if (xs.readNextStartElement()) std.cout << qPrintable(xs.name().toString()) << std.endl; } ``` 這是一個方便的功能,當你只關注與解析XML元素。該[QXmlStream Bookmarks Example](index.htm)大量使用此功能。 此功能被引入Qt的4.6 。 **See also** [readNext](qxmlstreamreader.html#readNext)( ) 。 ``` QXmlStreamReader.setDevice (self, QIODevice?device) ``` 設置當前設備_device_。設置設備重置流至其初始狀態。 **See also** [device](qxmlstreamreader.html#device)()和[clear](qxmlstreamreader.html#clear)( ) 。 ``` QXmlStreamReader.setEntityResolver (self, QXmlStreamEntityResolver?resolver) ``` 品牌_resolver_新[entityResolver](qxmlstreamreader.html#entityResolver)( ) 。 該流讀取器呢_not_采取解析器的所有權。這是調用者的責任,以確保解析器是有效的在流讀取器對象的整個生命時間,或直到另一個解析器或設定為0 。 此功能被引入Qt的4.4 。 **See also** [entityResolver](qxmlstreamreader.html#entityResolver)( ) 。 ``` QXmlStreamReader.setNamespaceProcessing (self, bool) ``` ``` QXmlStreamReader.skipCurrentElement (self) ``` 讀取,直到當前元素的結尾,跳躍任何子節點。此功能可用于跳過未知的元素非常有用。 當前元素是匹配的,其中一個匹配端元件尚未達到最新分析的開始元素的元素。當解析器已經走到了盡頭元素,當前元素變為父元素。 此功能被引入Qt的4.6 。 ``` QStringRef QXmlStreamReader.text (self) ``` 返回的文本[Characters](qxmlstreamreader.html#TokenType-enum),[Comment](qxmlstreamreader.html#TokenType-enum),[DTD](qxmlstreamreader.html#TokenType-enum)或[EntityReference](qxmlstreamreader.html#TokenType-enum)。 ``` QString QXmlStreamReader.tokenString (self) ``` 返回讀寫器的當前令牌為字符串。 **See also** [tokenType](qxmlstreamreader.html#tokenType)( ) 。 ``` TokenType QXmlStreamReader.tokenType (self) ``` [ 返回當前標記的類型。 ](qxmlstreamreader.html#TokenType-enum) [當前令牌也可以查詢的便利功能](qxmlstreamreader.html#TokenType-enum)[isStartDocument](qxmlstreamreader.html#isStartDocument)( )[isEndDocument](qxmlstreamreader.html#isEndDocument)( )[isStartElement](qxmlstreamreader.html#isStartElement)( )[isEndElement](qxmlstreamreader.html#isEndElement)( )[isCharacters](qxmlstreamreader.html#isCharacters)( )[isComment](qxmlstreamreader.html#isComment)( )[isDTD](qxmlstreamreader.html#isDTD)( )[isEntityReference](qxmlstreamreader.html#isEntityReference)()和[isProcessingInstruction](qxmlstreamreader.html#isProcessingInstruction)( ) 。 **See also** [tokenString](qxmlstreamreader.html#tokenString)( ) 。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看