Link Search Menu Expand Document

ЧтениеXml

Стд::Xml::Чтение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 возвращает пустую строку.


Методы

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

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

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


ЗначениеАтрибутаКакБайты

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

Читает значение атрибута с именем Имя и пространством имен ПространствоИмен как шестнадцатеричное число и преобразует к значению типа Байты.


ЗначениеАтрибутаКакБайтыBase64

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

Читает значение атрибута с именем Имя и пространством имен ПространствоИмен как число в записи Base64 и преобразует к значению типа Байты.


ЗначениеАтрибутаКакБулево

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

Читает значение атрибута с именем Имя и пространством имен ПространствоИмен и преобразует к значению типа Булево.


ЗначениеАтрибутаКакВремя

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

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


ЗначениеАтрибутаКакДата

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

Читает значение атрибута с именем Имя и пространством имен ПространствоИмен и преобразует к значению типа Дата.


ЗначениеАтрибутаКакДатаВремя

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

Читает значение атрибута с именем Имя м преобразует к значению типа ДатаВремя в часовом поясе ЧасовойПояс.


ЗначениеАтрибутаКакДатаВремя

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

Читает значение атрибута с именем Имя и пространством имен ПространствоИмен и преобразует к значению типа ДатаВремя. Если у значения атрибута указан часовой пояс, ДатаВремя преобразуется к часовому поясу, указанному в аргументе ЧасовойПояс.


ЗначениеАтрибутаКакДлительность

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

Читает значение атрибута с именем Имя и пространством имен ПространствоИмен и преобразует к значению типа Длительность.


ЗначениеАтрибутаКакМомент

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

Читает значение атрибута с именем Имя преобразует к значению типа Момент часовом поясе ЧасовойПояс.


ЗначениеАтрибутаКакМомент

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

Читает значение атрибута с именем Имя и пространством имен ПространствоИмен и преобразует к значению типа Момент. Если у значения атрибута не указан часовой пояс, для преобразования будет использован часовой пояс, указанный в аргументе ЧасовойПояс.


ЗначениеАтрибутаКакУуид

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

Читает значение атрибута с именем Имя и пространством имен ПространствоИмен и преобразует к значению типа Ууид.


ЗначениеАтрибутаКакЧисло

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

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


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

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

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


ИмяАтрибута

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

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


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

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

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


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

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

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

Примеры

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

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

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

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


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

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

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


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

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

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


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

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

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


Пропустить

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

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


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

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

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


ПрочитатьСодержимоеКакБайты

ПрочитатьСодержимоеКакБайты(): Байты

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


ПрочитатьСодержимоеКакБайтыBase64

ПрочитатьСодержимоеКакБайтыBase64(): Байты

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


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

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

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

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

ПрочитатьСодержимоеКакВремя

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

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


ПрочитатьСодержимоеКакДатаВремя

ПрочитатьСодержимоеКакДатаВремя(ЧасовойПояс: ЧасовойПояс): ДатаВремя

Читает содержимое узла и преобразует к значению типа ДатаВремя. Если у содержимого узла указан часовой пояс, ДатаВремя преобразуется к часовому поясу, указанному в аргументе ЧасовойПояс. Перед преобразованием от значения отрезаются пробельные символы в начале и конце. После вызова метода выполнено позиционирование на соответствующем узле типа [XmlNodeKind.EndElement].


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

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

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


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

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

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


ПрочитатьСодержимоеКакМомент

ПрочитатьСодержимоеКакМомент(ЧасовойПояс: ЧасовойПояс): Момент

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


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

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

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

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


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

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

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

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


Следующий

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

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


СледующийДо

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

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


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

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

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


Список унаследованных методов

Объект