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
, средство чтения пытается преобразовать его в Boolean объект в соответствии с правилами, определенными в рекомендации W3C XML Schema Part 2: Datatypes .
В следующей таблице описано, как этот метод обрабатывает каждый тип узла.
Тип узла XML | Возвращаемое значение | Поведение модуля чтения |
---|---|---|
Text CDATA Whitespace SignificantWhitespace EntityReference EndEntity |
Объединенное содержимое узлов текста, CDATA, пробелов и значимых пробелов, преобразованное в необходимый тип. | Перемещается к следующему тегу начального или конечного элемента. Ссылки на сущности автоматически раскрываются. |
Attribute |
Аналогично вызову XmlConvert.ToXxx для значения атрибута. |
Средство чтения остается в текущей позиции. |
Comment ProcessingInstruction |
Пропускает инструкцию по обработке или комментарий и считывает объединенное текстовое содержимое, следующее за инструкцией по обработке или комментарием. | Перемещается к следующему тегу начального или конечного элемента. Ссылки на сущности автоматически раскрываются. |
EndElement |
Пустая строка. | Средство чтения остается в текущей позиции. |
Element XmlDeclaration None Document DocumentType Notation Entity DocumentFragment |
Возникает исключение InvalidOperationException. | Не определено, хотя обычно модуль чтения остается в текущей позиции. |
Дополнительные сведения см. на странице справочника XmlReader и в рекомендации W3C XML Schema Part 2: Datatypes .