Link Search Menu Expand Document

ЧтениеXml

Стд::Xml::ЧтениеXml
Базовые типы: Объект

Объект для последовательного чтения XML-данных. Чтение XML-данных выполняется потоково, в конкретный момент времени объект позиционируется на конкретном узле XML. При ошибке разбора XML-данных вызывается исключение ИсключениеЧтенияXml.

Сравнение ссылочное


Примеры

метод СодержимоеЭлементXml(ТекстXml: Строка, Имя: Строка)
    знч Чтение = новый ЧтениеXml(ТекстXml)
    пока Чтение.Следующий()
        если Чтение.ВидУзла == ВидУзлаXml.НачалоЭлемента и Чтение.Имя == Имя
            возврат Чтение.Значение
        ;
    ;
;

Конструкторы

ЧтениеXml

ЧтениеXml(Источник: Строка, Настройки: НастройкиЧтенияXml)
Перегрузка:
ЧтениеXml(Источник: ПотокЧтения, Настройки: НастройкиЧтенияXml, Кодировка: Строка = “UTF-8”)

Конструктор чтения XML из строки Источник с настройками Настройки.


ЧтениеXml

ЧтениеXml(Источник: ПотокЧтения, Настройки: НастройкиЧтенияXml, Кодировка: Строка = “UTF-8”)
Перегрузка:
ЧтениеXml(Источник: Строка, Настройки: НастройкиЧтенияXml)

Конструктор чтения XML из потока Источник с настройками Настройки и кодировкой Кодировка.


Свойства

Автономный

ТолькоЧтение Автономный: Булево

Значение атрибута standalone элемента объявления XML. Если атрибут не указан или объявление не прочитано (отсутствует), то Ложь.


ВерсияXml

ТолькоЧтение ВерсияXml: Строка?

Версия спецификации XML, которой соответствует документ XML (получается из объявления XML).


ВидУзла

ТолькоЧтение ВидУзла: ВидУзлаXml?

Вид текущего узла или Undefined, если чтение еще не начато или уже завершено.


Значение

ТолькоЧтение Значение: Строка

Текстовое значение текущего узла XML. Если для узла текстовое значение не определено, то содержит пустую строку. Узлы, для которых определено текстовое значение:

  • СекцияCDATA - содержимое секции CDATA,
  • Комментарий - содержимое комментария,
  • ОпределениеТипаДокумента - внутреннее подмножество (internal subset),
  • ИнструкцияОбработки - содержимое инструкции обработки, исключая адрес (target),
  • Текст - содержимое текстового узла.

Учитывается значение параметра ИгнорироватьПробелыВЗначениях. После окончания текста XML возвращает пустую строку.


ИмеетЗначение

ТолькоЧтение ИмеетЗначение: Булево

Признак что текущий узел содержит текстовое значения. После окончания текста XML возвращает Ложь


ИмеетИмя

ТолькоЧтение ИмеетИмя: Булево

Признак наличия у текущего узла имени. После окончания текста XML возвращает Ложь


Имя

ТолькоЧтение Имя: Строка

Имя текущего узла XML. Содержит квалифицированное имя для текущего узла. Имя зависит от типа текущего узла:

  • ОпределениеТипаДокумента - имя типа документа,
  • НачалоЭлемента - имя элемента,
  • КонецЭлемента - имя элемента,
  • СсылкаНаСущность - имя ссылки на сущность,
  • ИнструкцияОбработки - адрес инструкции обработки (target).

Для узлов, у которых имя не определено, свойство содержит пустую строку. После окончания текста XML возвращает пустую строку.


ЛокальноеИмя

ТолькоЧтение ЛокальноеИмя: Строка

Локальное имя текущего узла XML. Содержит неквалифицированное имя для текущего узла. После окончания текста XML возвращает пустую строку.


Префикс

ТолькоЧтение Префикс: Строка

Префикс текущего узла. После окончания текста XML возвращает пустую строку.


ПространствоИмен

ТолькоЧтение ПространствоИмен: Строка

URI пространства имен текущего узла. После окончания текста XML возвращает пустую строку.


Методы

ЗначениеАтрибута

ЗначениеАтрибута(Имя: Строка, ПространствоИмен: Строка? = Неопределено): Строка?

Возвращает строку, представляющую значение атрибута с именем Имя и пространством имен ПространствоИмен.


ЗначениеАтрибутаПоИндексу

ЗначениеАтрибутаПоИндексу(Индекс: Число): Строка

Возвращает строку, представляющую значение атрибута с указанным индексом Индекс.


ИмяАтрибута

ИмяАтрибута(Индекс: Число): Строка

Возвращает имя атрибута по индексу Индекс.


КоличествоАтрибутов

КоличествоАтрибутов(): Число

Возвращает количество атрибутов у последнего прочитанного узла XML.


КоличествоОбъявленийПространствИмен

КоличествоОбъявленийПространствИмен(): Число

Возвращает количество объявлений пространств имен у последнего прочитанного узла XML.

Примеры

знч Чтение = новый ЧтениеXml(
    "<tag xmlns=\"http://xmlns\"        // Объявление пространства имен по умолчанию
          xmlns:ns=\"http://ns\"        // Объявление пространства имен "ns"
          ns:attr=\"value\"/>")
Чтение.Следующий()
Чтение.КоличествоОбъявленийПространствИмен() // 2

ЛокальноеИмяАтрибута

ЛокальноеИмяАтрибута(Индекс: Число): Строка

Возвращает локальное имя атрибута по индексу Индекс.


ОбъявлениеПространстваИмен

ОбъявлениеПространстваИмен(Индекс: Число): Строка

Возвращает URI объявления пространства имен с указанным индексом Индекс.


ПрефиксАтрибута

ПрефиксАтрибута(Индекс: Число): Строка

Возвращает префикс атрибута с указанным индексом Индекс.


ПрефиксОбъявленияПространстваИмен

ПрефиксОбъявленияПространстваИмен(Индекс: Число): Строка

Возвращает префикс объявления пространства имен с указанным индексом Индекс.


Пропустить

Пропустить(): Булево

Пропускает дочерние узлы текущего узла и позиционируется в начало следующего узла. Если текущий узел не содержит подчиненных узлов, то вызов метода аналогичен Следующий, в противном случае осуществляется пропуск всех дочерних узлов и осуществляется позиционирование на следующем узле. Возвращает Ложь, если текст XML завершился.


ПространствоИменАтрибута

ПространствоИменАтрибута(Индекс: Число): Строка

Возвращает пространство имен атрибута по индексу Индекс.


ПрочитатьСодержимоеКакБулево

ПрочитатьСодержимоеКакБулево(): Булево

Читает содержимое узла и преобразует к логическому значению:

  • значения true и 1 преобразуются в Истина,
  • значения false и 0 преобразуются в Ложь. Перед преобразованием от значения отрезаются пробельные символы в начале и конце. После вызова метода выполнено позиционирование на соответствующем узле вида [XmlNodeKind.EndElement].

ПрочитатьСодержимоеКакУуид

ПрочитатьСодержимоеКакУуид(): Ууид

Читает содержимое узла и преобразует к значению типа Ууид.

Перед преобразованием от значения отрезаются пробельные символы в начале и конце. После вызова метода выполнено позиционирование на соответствующем узле типа [XmlNodeKind.EndElement].


ПрочитатьСодержимоеКакЧисло

ПрочитатьСодержимоеКакЧисло(): Число

Читает содержимое узла и преобразует к числовому значению.

Перед преобразованием от значения отрезаются пробельные символы в начале и конце. После вызова метода выполнено позиционирование на соответствующем узле типа [XmlNodeKind.EndElement].


Следующий

Следующий(): Булево

Считывает очередной узел XML. Возвращает признак, что был прочитан очередной узел (Ложь - текст XML завершился). При этом следующим свойствам присваиваются значения, соответствующие прочитанным данным:


СледующийДо

СледующийДо(Имя: Строка, ПространствоИмен: Строка? = Неопределено): Булево

Читает узлы до тех пор, пока не встретит узел, с именем Имя в пространстве имен ПространствоИмен. Возвращает Истина, если текущий узел является искомым, иначе Ложь (текст XML завершился).


ЭтоПустойЭлемент

ЭтоПустойЭлемент(): Булево

Возвращает признак того, что текущий узел имеет тип [XmlNodeKind.StartElement] и представлен в XML узлом вида \<tag/\>.