// проверить, что это элемент NodeType

  if (tr.NodeType = XmlNodeType.Element) {

   // если это — элемент, то посмотрим атрибуты

   for(int i=0; i<tr.AttributeCount; i++) {

    listBox1.Items.Add(tr.GetAttribute(i));

   }

  }

 }

}

На этот раз мы ищем узлы элементов. Когда такой узел найден, в цикле просматриваются все атрибуты и с помощью метода GetAttribute значение атрибута загружается в listbox.

Проверка

Если нужно проверить документ XML, используйте класс XmlValidatingReader. Он обладает всей функциональностью класса XmlTextReader (оба реализуют XmlReader, но XmlValidatingReader добавляет свойство ValidationType, свойство Schemes и свойство SchemaType). Свойство ValidationType задается как тип проверки, которую желательно выполнить. Допустимые значения этого свойства следующие:

Значение свойства Описание
Auto Если в <!DOCTYPE...> объявлен DTD, он и будет загружаться и обрабатываться. Атрибуты по умолчанию и общие сущности, определенные в DTD, станут доступными. Если найден атрибут XSD schemalocation, то загружается и обрабатывается XSD, при этом все атрибуты по умолчанию, определенные в схеме, будут возвращены. Если найдено пространство имен с префиксом MSXML x-schema:, загрузится и обработается схема XDR, все атрибуты, определенные по умолчанию, возвратятся.
DTD Проверка согласно правилам DTD.
Schema Проверка согласно правилам XSD.
XDR Проверка согласно правилам XDR.
None Проверка не выполняется.

Если свойство задано, то должен быть назначен обработчик событий ValidationEventHandler. Событие инициируется, когда случается ошибка проверки. На ошибку можно отреагировать любым подходящим образом. Рассмотрим пример. Добавим пространство имен схемы XDR (XML Data Reduced — приведенные данные XML) к файлу books.xml и назовем этот файл booksVal.xml. Теперь он выглядит так:

<?xml version='1.0'?>

<!-- Этот файл представляет фрагмент базы данных учета запасов книжного склада -- >

<bookstore xmlns='x-schema:books.xdr'>

 <book genre='autobiography' publicationdate='1981' ISBN='1-861003-11-0'>

  <title>The Autobiography of Benjamin Franklin</title>

  <author>

   <first-name>Benjamin</first-name>

   <last-name>Franklin</last-name>

  </author>

  <price>8.99</price>

 </book>

 <book genre='novel' publicationdate='1967' ISBN='0-201-63361-2'>

  <title>The Confidence Man</title>

  <author>

   <first-name>Herman</first-name>

   <last-name>Melville</last-name>

  </author>

  <price>11.99</price>

 </book>

 <book genre='philosophy' publicationdate='1991' ISBN='1-861001-57-6'>

  <title>The Gorgias</title>

  <author>

   <name>Plato</name>

  </author>

  <price>9.99</price>

 </book>

</bookstore>

Отметим, что элемент bookstore имеет теперь атрибут xmlns='x- schema:books.xdr'. Это будет указывать на следующую схему XDR:

<?xml version='1.0'?>

<Schema xmlns='urn:schemas-microsoft-com:xml-data' xmlns:dt='urn:schemas-microsoft- com:datatypes'>

 <ElementType name='first-name' content='textOnly'/>

 <ElementType name='last-name' content='textOnly'/>

 <ElementType name='name' content='textOnly'/>

 <ElementType name='price' content='textOnly' dt:type='fixed.14.4'/>

 <ElementType name='author' content='eltOnly' order='one'>

  <group order='seq'>

   <element type='name'/>

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату
×