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 объект в соответствии с правилами, определенными в рекомендации по схеме XML W3C 2.
В следующей таблице описывается, как этот метод обрабатывает каждый тип узла.
| XmlNodeType | Возвращаемое значение | Поведение читателя |
|---|---|---|
TextCDATAWhitespaceSignificantWhitespaceEntityReferenceEndEntity |
Сцепленное содержимое текста, CDATA, пробелов и значительных узлов пробелов, преобразованных в запрошенный тип. | Перемещается к следующему начальном элементу или тегу конечного элемента. Ссылки на сущности автоматически расширяются. |
Attribute |
Аналогично вызову XmlConvert.ToXxx значения атрибута. |
Средство чтения остается в текущей позиции. |
CommentProcessingInstruction |
Игнорирует инструкцию обработки (PI) или комментарий и считывает сцепленное текстовое содержимое, следующее за идентификатором или комментарием. | Перемещается к следующему начальном элементу или тегу конечного элемента. Ссылки на сущности автоматически расширяются. |
EndElement |
Пустая строка. | Средство чтения остается в текущей позиции. |
ElementXmlDeclarationNoneDocumentDocumentTypeNotationEntityDocumentFragment |
Вызывается InvalidOperationException . | Не определено, хотя обычно читатель остается в текущей позиции. |
Дополнительные сведения см. на справочной XmlReader странице и рекомендации по схеме XML W3C 2.