匯出 (0) 列印
全部展開
本文章是由機器翻譯。 將指標移到文章內的文字上方即可查看原文。 其他資訊。
譯文
原文

XmlReader 類別

表示提供快速、非快取、順向 (Forward-only) 存取 XML 資料的讀取器 (Reader)。

命名空間:  System.Xml
組件:  System.Xml (在 System.Xml.dll 中)

public abstract class XmlReader : IDisposable

XmlReader 類型會公開下列成員。

  名稱描述
受保護的方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援XmlReader初始化 XmlReader 類別的新執行個體。
回頁首

  名稱描述
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援AttributeCount在衍生類別中覆寫時,取得目前節點上的屬性數目。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援BaseURI在衍生類別中覆寫時,取得目前節點的基底 URI。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援CanReadBinaryContent取得值,這個值表示 XmlReader 是否會實作二進位內容讀取方法。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援CanReadValueChunk取得值,指出 XmlReader 是否會實作 ReadValueChunk 方法。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援CanResolveEntity取得值,指出這個讀取器是否可以剖析和解析實體。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Depth在衍生類別中覆寫時,取得 XML 文件中目前節點的深度。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援EOF在衍生類別中覆寫時,取得指出讀取器是否在資料流結尾的值。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援HasAttributes取得值,這個值表示目前節點是否具有屬性。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援HasValue在衍生類別中覆寫時,取得值,指出目前節點是否具有 Value
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援IsDefault在衍生類別中覆寫時,取得值,指出目前節點是否為從 DTD 或結構描述中定義的預設值產生的屬性。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援IsEmptyElement在衍生類別中覆寫時,取得值,指出目前節點是否為空項目 (例如,<MyElement/>)。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Item[Int32]在衍生類別中覆寫時,取得具有指定索引的屬性值。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Item[String]在衍生類別中覆寫時,取得具有指定的 Name 的屬性值。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Item[String, String]在衍生類別中覆寫時,取得具有指定的 LocalNameNamespaceURI 的屬性值。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援LocalName在衍生類別中覆寫時,取得目前節點的區域名稱。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Name在衍生類別中覆寫時,取得目前節點的限定名稱。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援NamespaceURI在衍生類別中覆寫時,取得讀取器所在節點的命名空間 URI (如 W3C 命名空間規格中所定義)。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援NameTable在衍生類別中覆寫時,取得與這個實作相關的 XmlNameTable
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援NodeType在衍生類別中覆寫時,取得目前節點的型別。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Prefix在衍生類別中覆寫時,取得與目前節點相關的命名空間前置詞。
公用屬性受 XNA Framework 支援QuoteChar在衍生類別中覆寫時,取得用來括住屬性節點值的引號字元。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadState在衍生類別中覆寫時,取得讀取器的狀態。
公用屬性受 XNA Framework 支援SchemaInfo取得在結構描述驗證之後已指派給目前節點的結構描述資訊。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Settings取得 XmlReaderSettings 物件,用於建立這個 XmlReader 執行個體。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Value在衍生類別中覆寫時,取得目前節點的文字值。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ValueType取得目前節點的 Common Language Runtime (CLR) 型別。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援XmlLang在衍生類別中覆寫時,取得目前的 xml:lang 範圍。
公用屬性受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援XmlSpace在衍生類別中覆寫時,取得目前的 xml:space 範圍。
回頁首

  名稱描述
公用方法受 XNA Framework 支援Close在衍生類別中覆寫時,將 ReadState 變更為 Closed
公用方法靜態成員受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Create(Stream)使用指定的資料流,建立新的 XmlReader 執行個體。
公用方法靜態成員受 XNA Framework 支援適用於 Windows 市集應用程式的 .NET支援Create(String)使用指定的 URI,建立新的 XmlReader 執行個體。
公用方法靜態成員受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Create(TextReader)使用指定的 TextReader,建立新的 XmlReader 執行個體。
公用方法靜態成員受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Create(Stream, XmlReaderSettings)使用指定的資料流和 XmlReaderSettings 物件,建立新的 XmlReader 執行個體。
公用方法靜態成員受 XNA Framework 支援適用於 Windows 市集應用程式的 .NET支援Create(String, XmlReaderSettings)使用指定的 URI 和 XmlReaderSettings,建立新的執行個體。
公用方法靜態成員受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Create(TextReader, XmlReaderSettings)使用指定的 TextReaderXmlReaderSettings 物件,建立新的 XmlReader 執行個體。
公用方法靜態成員受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Create(XmlReader, XmlReaderSettings)使用指定的 XmlReaderXmlReaderSettings 物件,建立新的 XmlReader 執行個體。
公用方法靜態成員受 XNA Framework 支援Create(Stream, XmlReaderSettings, String)使用指定的資料流、基底 URI 和 XmlReaderSettings 物件,建立新的 XmlReader 執行個體。
公用方法靜態成員受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Create(Stream, XmlReaderSettings, XmlParserContext)使用指定的資料流、XmlReaderSettingsXmlParserContext 物件,建立新的 XmlReader 執行個體。
公用方法靜態成員受 XNA Framework 支援Create(String, XmlReaderSettings, XmlParserContext)使用指定的 URI、XmlReaderSettingsXmlParserContext 物件,建立新的 XmlReader 執行個體。
公用方法靜態成員受 XNA Framework 支援Create(TextReader, XmlReaderSettings, String)使用指定的 TextReaderXmlReaderSettings 和基底 URI,建立新的 XmlReader 執行個體。
公用方法靜態成員受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Create(TextReader, XmlReaderSettings, XmlParserContext)使用指定的 TextReaderXmlReaderSettingsXmlParserContext 物件,建立新的 XmlReader 執行個體。
公用方法受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Dispose()XmlReader 類別目前的執行個體所使用的資源全部釋出。
受保護的方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Dispose(Boolean)釋放 XmlReader 使用的 Unmanaged 資源,並選擇性釋放 Managed 資源。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Equals(Object)判斷指定的物件是否等於目前物件。 (繼承自 Object)。
受保護的方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Finalize 允許物件在記憶體回收進行回收之前,嘗試釋放資源並執行其他清除作業。 (繼承自 Object)。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援GetAttribute(Int32)在衍生類別中覆寫時,取得具有指定索引的屬性值。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援GetAttribute(String)在衍生類別中覆寫時,取得具有指定的 Name 的屬性值。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援GetAttribute(String, String)在衍生類別中覆寫時,取得具有指定的 LocalNameNamespaceURI 的屬性值。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援GetHashCode做為預設雜湊函式。 (繼承自 Object)。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援GetType取得目前執行個體的 Type (繼承自 Object)。
公用方法適用於 Windows 市集應用程式的 .NET支援GetValueAsync非同步取得目前節點的值。
公用方法靜態成員受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援IsName傳回值,指出字串引數是否為有效的 XML 名稱。
公用方法靜態成員受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援IsNameToken傳回值,指出字串引數是否為有效的 XML 名稱語彙基元。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援IsStartElement()呼叫 MoveToContent 並測試目前的內容節點為開頭標記或空項目標記。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援IsStartElement(String)呼叫 MoveToContent 並測試目前的內容節點為開頭標記或空項目標記,以及所找到項目的 Name 屬性是否符合指定的引數。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援IsStartElement(String, String)呼叫 MoveToContent 並測試目前的內容節點為開頭標記或空項目標記,以及所找到項目的 LocalNameNamespaceURI 屬性是否符合指定的引數。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援LookupNamespace在衍生類別中覆寫時,解析目前項目範圍內的命名空間前置詞。
受保護的方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援MemberwiseClone建立目前 Object 的淺層複本 (Shallow Copy)。 (繼承自 Object)。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援MoveToAttribute(Int32)在衍生類別中覆寫時,移至具有指定索引的屬性。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援MoveToAttribute(String)在衍生類別中覆寫時,移至具有指定之 Name 的屬性。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援MoveToAttribute(String, String)在衍生類別中覆寫時,移至具有指定的 LocalNameNamespaceURI 的屬性。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援MoveToContent檢查目前節點是否為內容 (非空白區文字、CDATAElementEndElementEntityReferenceEndEntity) 節點。 如果節點並非內容節點,讀取器會先跳至下一個內容節點或檔案結尾。 它會略過下列型別的節點:ProcessingInstructionDocumentTypeCommentWhitespaceSignificantWhitespace
公用方法適用於 Windows 市集應用程式的 .NET支援MoveToContentAsync非同步檢查目前節點是否為內容節點。 如果節點並非內容節點,讀取器會先跳至下一個內容節點或檔案結尾。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援MoveToElement在衍生類別中覆寫時,移至包含目前屬性節點的項目上。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援MoveToFirstAttribute在衍生類別中覆寫時,移至第一個屬性。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援MoveToNextAttribute在衍生類別中覆寫時,移至下一個屬性。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Read在衍生類別中覆寫時,從資料流讀取下一個節點。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadAsync非同步讀取資料流中的下一個節點。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadAttributeValue在衍生類別中覆寫時,將屬性值剖析成一個或多個 TextEntityReferenceEndEntity 節點。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAs以指定型别的物件形式讀取內容。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadContentAsAsync以非同步的方式讀取做為指定型别之物件的內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAsBase64讀取內容,並傳回 Base64 已解碼的二進位位元組。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadContentAsBase64Async以非同步的方式讀取內容,並傳回 Base64 已解碼的二進位位元組。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAsBinHex讀取內容,並傳回 BinHex 已解碼的二進位位元組。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadContentAsBinHexAsync以非同步的方式讀取內容,並傳回 BinHex 已解碼的二進位位元組。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAsBooleanBoolean 的形式讀取目前位置上的文字內容。
公用方法受 XNA Framework 支援ReadContentAsDateTimeDateTime 物件的形式讀取目前位置的文字內容。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadContentAsDateTimeOffsetDateTimeOffset 物件的形式讀取目前位置的文字內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAsDecimalDecimal 物件的形式讀取目前位置的文字內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAsDouble以雙精確度浮點數的形式讀取目前位置的文字內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAsFloat以單精確度浮點數的形式讀取目前位置的文字內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAsInt以 32 位元帶正負號之整數的形式讀取目前位置的文字內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAsLong以 64 位元帶正負號之整數的形式讀取目前位置的文字內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAsObjectObject 的形式讀取目前位置的文字內容。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadContentAsObjectAsyncObject 的形式,非同步讀取目前位置的文字內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadContentAsStringString 物件的形式讀取目前位置的文字內容。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadContentAsStringAsyncString 物件的形式,非同步讀取目前位置的文字內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAs(Type, IXmlNamespaceResolver)以要求之型別的形式讀取項目內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)檢查指定的區域名稱和命名空間 URI 是否與目前的項目相符,然後以要求之型別的形式讀取項目內容。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsAsync以要求之型別的形式,非同步讀取項目內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsBase64讀取項目,並將 Base64 內容解碼。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsBase64Async以非同步的方式讀取項目,並將 Base64 內容解碼。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsBinHex讀取項目,並將 BinHex 內容解碼。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsBinHexAsync以非同步的方式讀取項目,並將 BinHex 內容解碼。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsBoolean()讀取目前項目,並以 Boolean 物件傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsBoolean(String, String)檢查指定的區域名稱和命名空間 URI 是否與目前的項目相符,然後以 Boolean 物件的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援ReadElementContentAsDateTime()讀取目前項目,並以 DateTime 物件傳回內容。
公用方法受 XNA Framework 支援ReadElementContentAsDateTime(String, String)檢查指定的區域名稱和命名空間 URI 是否與目前的項目相符,然後以 DateTime 物件的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsDecimal()讀取目前項目,並以 Decimal 物件傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsDecimal(String, String)檢查指定的區域名稱和命名空間 URI 是否與目前的項目相符,然後以 Decimal 物件的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsDouble()以雙精確度浮點數的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsDouble(String, String)檢查指定的區域名稱和命名空間 URI 是否與目前的項目相符,然後以雙精確度浮點數的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsFloat()以單精確度浮點數的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsFloat(String, String)檢查指定的區域名稱和命名空間 URI 是否與目前的項目相符,然後以單精確度浮點數的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsInt()以 32 位元帶正負號之整數的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsInt(String, String)檢查指定的區域名稱和命名空間 URI 是否與目前的項目相符,然後以 32 位元帶正負號之整數的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsLong()以 64 位元帶正負號之整數的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsLong(String, String)檢查指定的區域名稱和命名空間 URI 是否與目前的項目相符,然後以 64 位元帶正負號之整數的形式,讀取目前的項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsObject()Object 的形式,讀取目前項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsObject(String, String)檢查指定的區域名稱和命名空間 URI 是否與目前的項目相符,然後以 Object 的形式,讀取目前的項目並傳回內容。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsObjectAsyncObject 的形式,非同步讀取目前項目並傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsString()讀取目前項目,並以 String 物件傳回內容。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsString(String, String)檢查指定的區域名稱和命名空間 URI 是否與目前的項目相符,然後以 String 物件的形式,讀取目前的項目並傳回內容。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadElementContentAsStringAsync以非同步的方式讀取目前項目,並以 String 物件傳回內容。
公用方法受 XNA Framework 支援ReadElementString()讀取純文字項目。
公用方法受 XNA Framework 支援ReadElementString(String)在讀取純文字項目之前,檢查找到的項目的 Name 屬性符合指定的字串。
公用方法受 XNA Framework 支援ReadElementString(String, String)在讀取純文字項目之前,檢查找到的項目的 LocalNameNamespaceURI 屬性符合指定的字串。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadEndElement檢查目前節點為結尾標記,並使讀取器前進至下一個節點。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadInnerXml在衍生類別中覆寫時,將所有的內容當做字串讀取,包括標記。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadInnerXmlAsync以字串形式非同步讀取所有內容,包括標記。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadOuterXml在衍生類別中覆寫時,讀取代表這個節點及其所有子節點的內容,包括標記。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadOuterXmlAsync非同步讀取表示這個節點及其所有子系的內容,包括標記。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadStartElement()檢查目前節點為項目,並使讀取器前進至下一個節點。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadStartElement(String)檢查目前節點為具有指定的 Name 的項目,並使讀取器前進至下一個節點。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadStartElement(String, String)檢查目前內容節點為具有指定的 LocalNameNamespaceURI 的項目,並使讀取器進至下一個節點。
公用方法受 XNA Framework 支援ReadString在衍生類別中覆寫時,將項目或文字節點的內容當做字串讀取。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadSubtree傳回新的 XmlReader 執行個體,可用於讀取目前的節點及其所有子代 (Descendant)。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadToDescendant(String)XmlReader 前進至下一個具有指定限定名稱的子代項目。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadToDescendant(String, String)XmlReader 前進至下一個具有指定區域名稱和命名空間 URI 的子代項目。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadToFollowing(String)在找到具有指定限定名稱的項目之前讀取。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadToFollowing(String, String)在找到具有指定區域名稱和命名空間 URI 的項目之前讀取。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadToNextSibling(String)XmlReader 前進至下一個具有指定限定名稱的同層級項目。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadToNextSibling(String, String)XmlReader 前進至下一個具有指定區域名稱和命名空間 URI 的同層級項目。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ReadValueChunk讀取 XML 文件中內嵌之大量文字資料流。
公用方法適用於 Windows 市集應用程式的 .NET支援ReadValueChunkAsync以非同步的方式讀取 XML 文件中內嵌之大量文字資料流。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ResolveEntity在衍生類別中覆寫時,解析 EntityReference 節點的實體參考。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援Skip略過目前節點的子節點。
公用方法適用於 Windows 市集應用程式的 .NET支援SkipAsync以非同步的方式略過目前節點的子節點。
公用方法受 XNA Framework 支援受 可攜式類別庫 支援適用於 Windows 市集應用程式的 .NET支援ToString傳回表示目前物件的字串。 (繼承自 Object)。
回頁首

  名稱描述
明確介面實作私用方法受 XNA Framework 支援IDisposable.Dispose如需這個成員的說明,請參閱 IDisposable.Dispose
回頁首

XmlReader 提供順向、唯讀存取 XML 資料的資料流。 XmlReader 類別符合 W3C 可延伸標記語言 (XML) 1.0 和<Namespaces in XML>的建議。

目前節點是指讀取器所在的節點。 使用任何讀取方法,讀取器前移,,和屬性會反映目前節點的值。

重要事項重要事項

雖然 .NET Framework 包含 XmlReader 的特定實作的類別,例如 XmlTextReaderXmlNodeReaderXmlValidatingReader 類別,並在 2.0 版中,建議的作法是建立 XmlReader 執行個體使用 Create 方法。 如需詳細資訊,請參閱建立 XML 讀取器

當 XML 剖析錯誤時,XmlReader 擲回 XmlException 在擲回例外狀況之後,讀取器的狀態不可預測的。 例如,報告的節點型別可能與目前節點的實際節點型別不同。 使用 ReadState 屬性,檢查讀取器是否處於錯誤狀態。

如需 XmlReader 類別的進一步討論,請參閱使用 XmlReader 讀取 XML

下列方法可與非同步方法呼叫:

一些同步方法有包含「Async」在方法名稱結尾的非同步的和對應。 例如, ReadContentAsXxx 的非同步對等和 ReadElementContentAsXxx 方法為:

下列章節描述沒有非同步的和對應的非同步方法的使用方式。

ReadStartElement 方法

public static async Task ReadStartElementAsync(this XmlReader reader, string localname, string ns) {
 if (await 
   reader.MoveToContentAsync() != 
   XmlNodeType.Element) {
 throw new 
InvalidOperationException(
reader.NodeType.ToString() + " is an invalid XmlNodeType");
   }
 if (reader.LocalName == 
     localname && 
     reader.NamespaceURI == ns) {
 await reader.ReadAsync();
   }
 else {
 throw new InvalidOperationException("localName or namespace doesn’t match");
    }
}

ReadEndElement 方法

擴充函式的:

public static async Task ReadEndElementAsync(this XmlReader reader) {
if (await reader.MoveToContentAsync() != XmlNodeType.EndElement) {
    throw new InvalidOperationException();
   }
 await reader.ReadAsync();
}

ReadToNextSibling 方法

public static async Task<bool> ReadToNextSiblingAsync(this XmlReader reader, string localName, string namespaceURI) {
 if (localName == null || 
    localName.Length == 0) {
 throw new ArgumentException ("localName is empty or null");
   }
 if (namespaceURI == null) {
 throw new ArgumentNullException("namespaceURI");
   }

// atomize local name and namespace
   localName = 
    reader.NameTable.Add(localName);
   namespaceURI = 
   reader.NameTable.Add(namespaceURI);

// find the next sibling
 XmlNodeType nt;
 do {
 await reader.SkipAsync();
 if (reader.ReadState !=
 ReadState.Interactive)
 break;
      nt = reader.NodeType;
 if (nt == XmlNodeType.Element &&
      ((object)localName == 
      (object)reader.LocalName) && 
      ((object)namespaceURI == 
      (object)reader.NamespaceURI)) {
 return true;
       }
   }while(nt != XmlNodeType.EndElement 

   && !reader.EOF);
 return false;
}

ReadToFollowing 方法

public static async Task<bool> ReadToFollowingAsync(this XmlReader reader, string localName, string namespaceURI) 
{
 if (localName == null || 
     localName.Length == 0) {
 throw new 
     ArgumentException(
     "localName is empty or null");
   }
 if (namespaceURI == null) {
 throw new 
      ArgumentNullException(
     "namespaceURI");
}

// atomize local name and namespace
   localName = 
    reader.NameTable.Add(localName);
   namespaceURI = 
   reader.NameTable.Add(namespaceURI);

// find element with that name
 while (await reader.ReadAsync()) {
 if (reader.NodeType == XmlNodeType.Element && ((object)localName == (object)reader.LocalName) && ((object)namespaceURI == (object)reader.NamespaceURI)) {
 return true;
      }
   }
 return false;
}

ReadToDescendant 方法

public static async Task<bool> ReadToDescendantAsync(this XmlReader reader, string localName, string namespaceURI) {
 if (localName == null || localName.Length == 0) {
 throw new ArgumentException("localName is empty or null");
   }
 if (namespaceURI == null) {
 throw new ArgumentNullException("namespaceURI");
   }
 // save the element or root depth
 int parentDepth = reader.Depth;
 if (reader.NodeType != XmlNodeType.Element) {
 // adjust the depth if we are on root node
if (reader.ReadState == ReadState.Initial) {
    parentDepth--;
   }
else {
     return false;
       }
   }
else if (reader.IsEmptyElement) {
   return false;
}

// atomize local name and namespace
localName = reader.NameTable.Add(localName);
namespaceURI = reader.NameTable.Add(namespaceURI);

// find the descendant
while (await reader.ReadAsync() && reader.Depth > parentDepth) {
if (reader.NodeType == XmlNodeType.Element && ((object)localName == (object)reader.LocalName) && ((object)namespaceURI == (object)reader.NamespaceURI)) {
 return true;
}
}
return false;
}

安全性考量

使用 XmlReader 類別時,要考量下列事項。

  • XmlReader 擲回的例外狀況可能會透露您不希望您不希望反昇至應用程式的路徑資訊。 您的應用程式必須攔截例外狀況並適當地處理它們。

  • 如果您擔心服務拒絕的問題或您正在處理不受信任的來源,請不要啟用 DTD 處理。 Create 方法建立的 XmlReader 物件預設停用 DTD 處理。

    如果已啟用 DTD 處理,則可以使用 XmlSecureResolver,限制 XmlReader 可以存取的資源。 您還可以設計應用程式,讓 XML 處理具有記憶體和時間限制。 例如,在 ASP.NET 應用程式中設定逾時限制。

  • XML 資料可以包含外部資源 (例如,結構描述檔) 的參考。 根據預設,外部資源使用不具有使用者認證的 XmlUrlResolver 物件進行解析。 您可以透過執行下列其中一項作業,進一步保護它:

  • 預設不會設定 XmlReaderSettings 物件的 ProcessInlineSchemaProcessSchemaLocation 驗證旗標。 在處理來自不受信任來源的 XML 資料時,這有助於保護 XmlReader,防止其遭受以結構描述為基礎的攻擊。 當設定這些旗標時,XmlReaderSettings 物件的 XmlResolver 會用於解析 XmlReader 執行個體文件中遇到的結構描述位置。 如果 XmlResolver 屬性設為 null,則即使設定 ProcessInlineSchemaProcessSchemaLocation 驗證旗標,也不會解析結構描述位置。

    驗證期間加入的結構描述會加入新型別,並可變更要驗證之物件的驗證結果。 因此,只應該從受信任的來源解析外部結構描述。

    當在可用性高的情況下,針對在文件的大部分具有識別條件約束的結構描述,驗證大量不受信任的 XML 文件時,建議停用 ProcessIdentityConstraints 旗標 (預設會啟用)。

  • XML 資料可以包含大量的屬性 (Attribute)、命名空間 (Namespace) 宣告、巢狀項目等,它們需要花費大量時間進行處理。 若要限制傳送至 XmlReader項目的大小,您可以:

  • ReadValueChunk 方法可用來處理大量資料流。 這個方法會一次讀取少量字元,而不是為整個值配置單一字串。

  • 讀取具有大量唯一區域名稱、命名空間或前置詞的 XML 文件時,會發生問題。 如果您正在使用衍生自 XmlReader 的類別,且您為每個項目呼叫 LocalNamePrefixNamespaceURI 屬性,則傳回的字串會加入 NameTable 中。 NameTable 所持有的集合大小一定不會減小,它會建立字串控制代碼的虛擬「記憶體遺漏」(Memory Leak)。 這樣做的其中一個安全防護是從 NameTable 類別衍生和強制使用配額最大值 (無法避免使用 NameTable,或 NameTable 已滿時無法進行切換)。 另一個安全防護是避免使用提到的屬性,而是盡量搭配使用 MoveToAttribute 方法和 IsStartElement 方法,這些方法不會傳回字串,這樣就可避免 NameTable 集合太滿的問題。

  • XmlReaderSettings 物件可能包含敏感資訊 (例如使用者認證)。 不受信任的元件可能會使用 XmlReaderSettings 物件及其使用者認證,建立 XmlReader 物件來讀取資料。 在快取 XmlReaderSettings 物件或將 XmlReaderSettings 物件從一個元件傳遞至另一個元件時,您應該非常小心。

  • 請不要接受來自不受信任之來源的支援元件,例如 NameTableXmlNamespaceManagerXmlResolver 物件。

下列程式碼範例將示範如何使用非同步應用程式開發介面剖析 XML。

async Task TestReader(Stream stream) 
{
   XmlReaderSettings settings = new XmlReaderSettings();
   settings.Async = true;

   using (XmlReader reader = XmlReader.Create(stream, settings)) {
      while (await reader.ReadAsync()) {
         switch (reader.NodeType) {
         case XmlNodeType.Element:
            Console.WriteLine("Start Element {0}", reader.Name);
            break;
         case XmlNodeType.Text:
            Console.WriteLine("Text Node: {0}", 
                     await reader.GetValueAsync());
            break;
         case XmlNodeType.EndElement:
              Console.WriteLine("End Element {0}", reader.Name);
              break;
         default:
              Console.WriteLine("Other node {0} with value {1}", 
                              reader.NodeType, reader.Value);
              break;
         }
      }
   }
}

.NET Framework

支援版本:4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

支援版本:4、3.5 SP1

可攜式類別庫

支援版本:可攜式類別庫

適用於 Windows 市集應用程式的 .NET

支援版本:Windows 8

適用於 Windows Phone 應用程式的 .NET

支援版本:Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (不支援伺服器核心角色), Windows Server 2008 R2 (SP1 (含) 以後版本支援伺服器核心角色,不支援 Itanium)

.NET Framework 並不支援各種平台的所有版本。如需支援版本的清單,請參閱.NET Framework 系統需求

這個類型的任何 Public static (在 Visual Basic 中為 Shared) 成員都是安全執行緒。不保證任何執行個體成員是安全執行緒。

社群新增項目

新增
Microsoft 正展開一份線上問卷調查,了解您對於 MSDN 網站的看法。 如果您選擇參加,您離開 MSDN 網站時即會顯示線上問卷調查。

您是否想要參加?
顯示:
© 2014 Microsoft