XmlReader.ReadContentAsBoolean 方法

定义

将当前位置的文本内容作为 Boolean 读取。

public:
 virtual bool ReadContentAsBoolean();
public virtual bool ReadContentAsBoolean ();
abstract member ReadContentAsBoolean : unit -> bool
override this.ReadContentAsBoolean : unit -> bool
Public Overridable Function ReadContentAsBoolean () As Boolean

返回

作为 Boolean 对象的文本内容。

例外

试图进行的强制转换无效。

该字符串格式无效。

在上一次异步操作完成之前调用了 XmlReader 方法。 在此情况下,会引发 InvalidOperationException 并显示消息“异步操作已在进行中。”

示例

以下示例使用 ReadContentAsBoolean 方法将 属性作为 Boolean 值读取。

using (XmlReader reader = XmlReader.Create("dataFile_2.xml")) {
      reader.ReadToDescendant("item");
      do {
          reader.MoveToAttribute("sale-item");
          Boolean onSale = reader.ReadContentAsBoolean();
          if (onSale) {
             Console.WriteLine(reader["productID"]);
          }
      } while (reader.ReadToNextSibling("item"));	
}
Using reader As XmlReader = XmlReader.Create("dataFile_2.xml")
              
  reader.ReadToDescendant("item")
              
  Do
    reader.MoveToAttribute("sale-item")
    Dim onSale As [Boolean] = reader.ReadContentAsBoolean()
    If onSale Then
      Console.WriteLine(reader("productID"))
    End If
  Loop While reader.ReadToNextSibling("item")
          
End Using

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

<root>
  <item sale-item='true' productID='123456' colors='blue green black'>
    <price>9.95</price>
  </item>
  <item sale-item='false' productID='124390'>
    <price>5.95</price>
  </item>
  <item sale-item='true' productID='53298'>
    <price>12.95</price>
  </item>
</root>

注解

此方法连接文本、空白、重要空格和 CDATA 部分,并跳过任何注释或处理指令。 实体引用会自动解析。

如果内容类型 xsd:boolean化,则读取器返回未装箱 Boolean 的对象。 如果未键入xsd:boolean内容,则读取器会尝试根据 W3C XML 架构第 2 部分:数据类型建议定义的规则将其Boolean转换为对象。

下表介绍了此方法如何处理每个节点类型。

XmlNodeType 返回值 读取器行为
Text

CDATA

Whitespace

SignificantWhitespace

EntityReference

EndEntity
将文本、CDATA、空白和有效空白节点的串联内容转换为所请求的类型。 移至下一个开始元素或结束元素标记。 实体引用自动展开。
Attribute 与对属性值调用 XmlConvert.ToXxx 相同。 读取器仍保留在当前位置。
Comment

ProcessingInstruction
忽略处理指令 (PI) 或注释,读取 PI 或注释后面的串联文本内容。 移至下一个开始元素或结束元素标记。 实体引用自动展开。
EndElement 空字符串。 读取器仍保留在当前位置。
Element

XmlDeclaration

None

Document

DocumentType

Notation

Entity

DocumentFragment
引发 InvalidOperationException 未定义,尽管通常读取器将保留在当前位置。

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

适用于