Export (0) Print
Expand All

XPathNavigator.ValueAsBoolean Property

Gets the current node's value as a Boolean.

Namespace:  System.Xml.XPath
Assembly:  System.Xml (in System.Xml.dll)

public override bool ValueAsBoolean { get; }

Property Value

Type: System.Boolean
The current node's value as a Boolean.

ExceptionCondition
FormatException

The current node's string value cannot be converted to a Boolean.

InvalidCastException

The attempted cast to Boolean is not valid.

If the XPathNavigator has schema or type information (for example, from an XmlDocument object initialized with an XML schema validating XmlReader), and if the current node is defined as an XML Schema xs:boolean type, the ValueAsBoolean property returns the current node's value as an unboxed Boolean object.

However, if the XPathNavigator does not have any schema or type information, the ValueAsBoolean property attempts to convert the string value of the current node to a Boolean value, according to the XPath 2.0 casting rules for xs:boolean.

In the following example, the value of each element in the valueas.xml file is returned using the ValueAsBoolean, ValueAsDateTime, ValueAsDouble, ValueAsInt, and ValueAsLong properties.

XPathDocument document = new XPathDocument("valueas.xml");
XPathNavigator navigator = document.CreateNavigator();

// ValueAsBoolean
navigator.MoveToChild("root", "");
navigator.MoveToChild("booleanElement", "");
bool booleanValue = navigator.ValueAsBoolean;
Console.WriteLine(navigator.LocalName + ": " + booleanValue);

// ValueAsDateTime
navigator.MoveToNext("dateTimeElement", "");
DateTime dateTimeValue = navigator.ValueAsDateTime;
Console.WriteLine(navigator.LocalName + ": " + dateTimeValue);

// ValueAsDouble, ValueAsInt32, ValueAsInt64, ValueAsSingle
navigator.MoveToNext("numberElement", "");
Double doubleValue = navigator.ValueAsDouble;
Int32 int32Value = navigator.ValueAsInt;
Int64 int64Value = navigator.ValueAsLong;
Console.WriteLine(navigator.LocalName + ": " + doubleValue);
Console.WriteLine(navigator.LocalName + ": " + int32Value);
Console.WriteLine(navigator.LocalName + ": " + int64Value);

The example takes the valueas.xml file as an input.

<root>
    <booleanElement>true</booleanElement>
    <dateTimeElement>2004-04-20T12:00:00</dateTimeElement>
    <decimalElement>10.00</decimalElement>
    <numberElement>100000000</numberElement>
</root>

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft