Edit

Share via


XmlReader.ReadContentAsBoolean Method

Definition

Reads the text content at the current position as a 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

Returns

The text content as a Boolean object.

Exceptions

The attempted cast is not valid.

The string format is not valid.

An XmlReader method was called before a previous asynchronous operation finished. In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Examples

The following example uses the ReadContentAsBoolean method to read the attribute as a Boolean value.

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

The example uses the dataFile_2.xml file as input.

<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>

Remarks

This method concatenates text, white space, significant white space, and CDATA sections, and skips any comments or processing instructions. Entity references are automatically resolved.

If the content is typed xsd:boolean, the reader returns an unboxed Boolean object. If the content is not typed xsd:boolean, the reader attempts to convert it to a Boolean object according to the rules defined by the W3C XML Schema Part 2: Datatypes recommendation.

The following table describes how this method treats each node type.

XmlNodeType Return value Reader behavior
Text

CDATA

Whitespace

SignificantWhitespace

EntityReference

EndEntity
Concatenated content of text, CDATA, white space and significant white space nodes converted to the requested type. Moves to the next start element or end element tag. Entity references are automatically expanded.
Attribute Same as calling XmlConvert.ToXxx on the attribute value. The reader remains in the current position.
Comment

ProcessingInstruction
Ignores the processing instruction (PI) or comment and reads the concatenated text content that follows the PI or comment. Moves to the next start element or end element tag. Entity references are automatically expanded.
EndElement An empty string. The reader remains in the current position.
Element

XmlDeclaration

None

Document

DocumentType

Notation

Entity

DocumentFragment
An InvalidOperationException is thrown. Undefined, although typically the reader remains in the current position.

For more information, see the XmlReader reference page and the W3C XML Schema Part 2: Datatypes recommendation.

Applies to