XmlReader.ReadElementContentAsObject 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
讀取當前元素並以 Object.
多載
| 名稱 | Description |
|---|---|
| ReadElementContentAsObject() |
讀取當前元素並以 Object. |
| ReadElementContentAsObject(String, String) |
檢查指定的本地名稱與命名空間 URI 是否與當前元素相符,然後讀取當前元素並將內容 Object以 . |
ReadElementContentAsObject()
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
讀取當前元素並以 Object.
public:
virtual System::Object ^ ReadElementContentAsObject();
public virtual object ReadElementContentAsObject();
abstract member ReadElementContentAsObject : unit -> obj
override this.ReadElementContentAsObject : unit -> obj
Public Overridable Function ReadElementContentAsObject () As Object
傳回
一個最合適的盒裝通用語言執行時(CLR)物件。 屬性決定 ValueType 了適當的 CLR 類型。 若內容被類型為列表型別,此方法會回傳一個相應類型的盒裝物件陣列。
例外狀況
它 XmlReader 並未被定位在元素上。
-或-
在先前非同步操作結束前,會呼叫一個 XmlReader 方法。 此時, InvalidOperationException 會拋出「非同步操作已進行中」的訊息。
此方法以參數呼叫 null 。
範例
以下範例使用該方法來讀取節點內容 price 。 讀取器利用結構中的資訊將內容映射到正確的資料型態。
// Create a validating reader.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas.Add("urn:items", "item.xsd");
XmlReader reader = XmlReader.Create("item.xml", settings);
// Get the CLR type of the price element.
reader.ReadToFollowing("price");
Console.WriteLine(reader.ValueType);
// Return the value of the price element as Decimal object.
Decimal price = (Decimal) reader.ReadElementContentAsObject();
// Add 2.50 to the price.
price = Decimal.Add(price, 2.50m);
' Create a validating reader.
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas.Add("urn:items", "item.xsd")
Dim reader As XmlReader = XmlReader.Create("item.xml", settings)
' Get the CLR type of the price element.
reader.ReadToFollowing("price")
Console.WriteLine(reader.ValueType)
' Return the value of the price element as Decimal object.
Dim price As [Decimal] = CType(reader.ReadElementContentAsObject(), [Decimal])
' Add 2.50 to the price.
price = [Decimal].Add(price, 2.5D)
範例使用以下兩個檔案作為輸入。
item.xml
<item xmlns="urn:items" productID='123098'>
<name>hammer</name>
<price>9.95</price>
<supplierID>1929</supplierID>
</item>
item.xsd
<?xml version="1.0"?>
<xs:schema xmlns:tns="urn:items" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="urn:items" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" />
<xs:element name="price" type="xs:decimal" />
<xs:element name="supplierID" type="xs:unsignedShort" />
</xs:sequence>
<xs:attribute name="productID" type="xs:unsignedInt" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>
備註
此方法讀取起始標籤、元素內容,並將讀取器移過終點元素標籤。 它會擴展實體,並忽略處理指令與註解。 該元素只能包含簡單內容。 也就是說,它不能有子元素。
欲了解更多資訊,請參閱參考文獻頁面的 XmlReader 備註區及 W3C XML 架構第二部分:資料型別 建議。
關於此方法的非同步版本,請參見 ReadElementContentAsObjectAsync。
適用於
ReadElementContentAsObject(String, String)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
檢查指定的本地名稱與命名空間 URI 是否與當前元素相符,然後讀取當前元素並將內容 Object以 .
public:
virtual System::Object ^ ReadElementContentAsObject(System::String ^ localName, System::String ^ namespaceURI);
public virtual object ReadElementContentAsObject(string localName, string namespaceURI);
abstract member ReadElementContentAsObject : string * string -> obj
override this.ReadElementContentAsObject : string * string -> obj
Public Overridable Function ReadElementContentAsObject (localName As String, namespaceURI As String) As Object
參數
- localName
- String
該元素的地方名稱。
- namespaceURI
- String
元素的命名空間 URI。
傳回
一個最合適的盒裝通用語言執行時(CLR)物件。 屬性決定 ValueType 了適當的 CLR 類型。 若內容被類型為列表型別,此方法會回傳一個相應類型的盒裝物件陣列。
例外狀況
它 XmlReader 並未被定位在元素上。
-或-
在先前非同步操作結束前,會呼叫一個 XmlReader 方法。 此時, InvalidOperationException 會拋出「非同步操作已進行中」的訊息。
此方法以參數呼叫 null 。
指定的本地名稱與命名空間 URI 與目前被讀取的元素不符。
備註
此方法讀取起始標籤、元素內容,並將讀取器移過終點元素標籤。 它會擴展實體,並忽略處理指令與註解。 該元素只能包含簡單內容。 也就是說,它不能有子元素。
欲了解更多資訊,請參閱參考文獻頁面的 XmlReader 備註區及 W3C XML 架構第二部分:資料型別 建議。