XmlReader.ReadContentAsBoolean Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.