Поделиться через


XPathNavigator.ValueAsBoolean Свойство

Определение

Возвращает значение текущего узла в виде Boolean.

public:
 virtual property bool ValueAsBoolean { bool get(); };
public override bool ValueAsBoolean { get; }
member this.ValueAsBoolean : bool
Public Overrides ReadOnly Property ValueAsBoolean As Boolean

Значение свойства

Значение текущего узла в качестве Booleanзначения.

Исключения

Строковое значение текущего узла невозможно преобразовать в Boolean.

Попытка приведения Boolean недопустима.

Примеры

В следующем примере значение каждого элемента в valueas.xml файле возвращается с помощью ValueAsBooleanсвойств , , ValueAsDateTimeValueAsDoubleи ValueAsIntValueAsLong свойств.

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);
Dim document As XPathDocument = New XPathDocument("valueas.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()

' ValueAsBoolean
navigator.MoveToChild("root", "")
navigator.MoveToChild("booleanElement", "")
Dim booleanValue As Boolean = navigator.ValueAsBoolean
Console.WriteLine(navigator.LocalName + ": " + booleanValue)

' ValueAsDateTime
navigator.MoveToNext("dateTimeElement", "")
Dim dateTimeValue As DateTime = navigator.ValueAsDateTime
Console.WriteLine(navigator.LocalName + ": " + dateTimeValue)

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

Пример принимает valueas.xml файл в качестве входных данных.

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

Комментарии

XPathNavigator Если у него есть сведения о схеме или типе (например, из XmlDocument объекта, инициализированного с проверкой XmlReaderсхемы XML), а если текущий узел определен как тип схемы xs:boolean XML, ValueAsBoolean свойство возвращает значение текущего узла в виде несоотключаемого Boolean объекта.

Однако если XPathNavigator у него нет сведений о схеме или типе, ValueAsBoolean свойство пытается преобразовать строковое значение текущего узла Boolean в значение в соответствии с правилами приведения XPath 2.0.xs:boolean

Применяется к