ВыражениеXPathЧтенияXml
Стд::Xml::XPath::ВыражениеXPathЧтенияXml
Объект для выражения XPath чтения XML.
Сравнение
Ссылочное
Иерархия типа
Базовые типы: Объект
См. также
Конструкторы
ВыражениеXPathЧтенияXml
ВыражениеXPathЧтенияXml(
Значение: Строка,
ПрефиксыПространствИмен: ЧитаемоеСоответствие<Строка, Строка>? = Неопределено)- Значение - строка с выражением XPath
- ПрефиксыПространствИмен - соответствие Префикс - Пространство имен, по умолчанию
Неопределено
Описание синтаксиса
Выражение XPath для чтения XML имеет следующие возможности и ограничения:
- однонаправленный поиск от начала документа
- поддержка осей
- child (ось по умолчанию, child::elem → elem)
- descendant (//)
- attribute (@)
- условия
- только атрибуты контекстного элемента
- только оператор and
- для контекстного элемента не допускается цепочка условий (например, нельзя использовать //elem[@attr='1'][@attr2='2'])
- операторы сравнения
- =, != , <, <=, >, >=
- для <, <=, >, >= выполняется неявное приведение к числу
- если оператор не указан, то выполняется проверка на наличие значения атрибута
- =, != , <, <=, >, >=
- функции проверки значения на вхождение подстроки (есть зависимость от регистра)
- contains
- starts-with
- ends-with
- нельзя использовать wildcard (*)
- нельзя использовать параметры
- можно использовать интерполяцию для построения строки выражения
Исключения
ИсключениеНедопустимыйФормат - если значение выражения не соответствует синтаксису XPath для чтения XML
ИсключениеНедопустимыйАргумент - если в выражении используется префикс, но он отсутствует в ПрефиксыПространствИмен
Примеры
- /root/elem
- /root/elem[@attr = 'a' and @attr2 = 'c']/elem[@attr = 'b']
- //elem/elem
- //elem[@attr = 'a']/elem[@attr = 'b']
- //elem[@attr]
- //elem[contains(@attr, 'b')]
- //elem[starts-with(@attr, 'a')]
- //elem[ends-with(@attr, 'z')]