通过


XmlReader.ReadElementContentAs 方法

定义

读取当前元素,并将内容作为指定类型的对象返回。

重载

名称 说明
ReadElementContentAs(Type, IXmlNamespaceResolver)

将元素内容读取为请求的类型。

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

检查指定的本地名称和命名空间 URI 是否与当前元素的本地名称和命名空间 URI 匹配,然后将元素内容作为请求的类型读取。

ReadElementContentAs(Type, IXmlNamespaceResolver)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

将元素内容读取为请求的类型。

public:
 virtual System::Object ^ ReadElementContentAs(Type ^ returnType, System::Xml::IXmlNamespaceResolver ^ namespaceResolver);
public virtual object ReadElementContentAs(Type returnType, System.Xml.IXmlNamespaceResolver namespaceResolver);
abstract member ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver -> obj
override this.ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver -> obj
Public Overridable Function ReadElementContentAs (returnType As Type, namespaceResolver As IXmlNamespaceResolver) As Object

参数

returnType
Type

要返回的值的类型。

注意 随着 .NET Framework 3.5 的发布,参数的值 returnType 现在可以是 DateTimeOffset 类型。

namespaceResolver
IXmlNamespaceResolver

IXmlNamespaceResolver用于解析与类型转换相关的任何命名空间前缀的对象。

返回

转换为所请求类型化对象的元素内容。

例外

XmlReader 元素不定位在元素上。

-或-

在上一个异步操作完成之前调用了一个 XmlReader 方法。 在这种情况下, InvalidOperationException 会引发消息“正在进行异步操作”。

当前元素包含子元素。

-或-

元素内容无法转换为请求的类型。

使用参数调用 null 该方法。

读取 Decimal.MaxValue

示例

以下示例使用 ReadElementContentAs 该方法读取节点的内容 date

using (XmlReader reader = XmlReader.Create("dataFile.xml")) {
     reader.ReadToFollowing("date");
     DateTime date = (DateTime) reader.ReadElementContentAs(typeof(System.DateTime), null);
  
     // If the current culture is "en-US",
     // this writes "Wednesday, January 8, 2003".
     Console.WriteLine(date.ToLongDateString());	
}
Using reader As XmlReader = XmlReader.Create("dataFile.xml")
  reader.ReadToFollowing("date")
  Dim [date] As DateTime = CType(reader.ReadElementContentAs(GetType(System.DateTime), Nothing), DateTime)
            
  ' If the current culture is "en-US",
  ' this writes "Wednesday, January 8, 2003".
  Console.WriteLine([date].ToLongDateString())
End Using

该示例使用 dataFile.xml 该文件作为输入。

<root>
  <stringValue>
     <!--comment-->
     <?some pi?>
      text value of the element.
  </stringValue>
  <longValue>270000000000001</longValue>
  <number>0</number>
  <double>2E10</double>
  <date>2003-01-08T15:00:00-00:00</date>
</root>

注解

此方法读取开始标记、元素的内容,并将读取器移到结束元素标记之后。 它扩展实体并忽略处理指令和注释。 元素只能包含简单内容。 也就是说,它不能有子元素。

有关详细信息,请参阅参考页的 XmlReader “备注”部分和 W3C XML 架构第 2 部分:数据类型 建议。

有关此方法的异步版本,请参阅 ReadElementContentAsAsync

适用于

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs
Source:
XmlReader.cs

检查指定的本地名称和命名空间 URI 是否与当前元素的本地名称和命名空间 URI 匹配,然后将元素内容作为请求的类型读取。

public:
 virtual System::Object ^ ReadElementContentAs(Type ^ returnType, System::Xml::IXmlNamespaceResolver ^ namespaceResolver, System::String ^ localName, System::String ^ namespaceURI);
public virtual object ReadElementContentAs(Type returnType, System.Xml.IXmlNamespaceResolver namespaceResolver, string localName, string namespaceURI);
abstract member ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver * string * string -> obj
override this.ReadElementContentAs : Type * System.Xml.IXmlNamespaceResolver * string * string -> obj
Public Overridable Function ReadElementContentAs (returnType As Type, namespaceResolver As IXmlNamespaceResolver, localName As String, namespaceURI As String) As Object

参数

returnType
Type

要返回的值的类型。

注意 随着 .NET Framework 3.5 的发布,参数的值 returnType 现在可以是 DateTimeOffset 类型。

namespaceResolver
IXmlNamespaceResolver

IXmlNamespaceResolver用于解析与类型转换相关的任何命名空间前缀的对象。

localName
String

元素的本地名称。

namespaceURI
String

元素的命名空间 URI。

返回

转换为所请求类型化对象的元素内容。

例外

XmlReader 元素不定位在元素上。

-或-

在上一个异步操作完成之前调用了一个 XmlReader 方法。 在这种情况下, InvalidOperationException 会引发消息“正在进行异步操作”。

当前元素包含子元素。

-或-

元素内容无法转换为请求的类型。

使用参数调用 null 该方法。

指定的本地名称和命名空间 URI 与正在读取的当前元素的 URI 不匹配。

读取 Decimal.MaxValue

注解

此方法读取开始标记、元素的内容,并将读取器移到结束元素标记之后。 它扩展实体并忽略处理指令和注释。 元素只能包含简单内容。 也就是说,它不能有子元素。

有关详细信息,请参阅参考页的 XmlReader “备注”部分和 W3C XML 架构第 2 部分:数据类型 建议。

适用于