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


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 .

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