Функция XPath на нескольких текстовых узлах

xpath xpath-1.0

387 просмотра

1 ответ

Используя XPath 1.0, вы хотите получить список текстовых узлов, применяя функцию XPath 'substring' для каждого текстового узла.

substring(//p/text(), 10) 

дает только одну первую подстроку текста, когда

//p/text()

дает все из них, но хочет, чтобы все подстроки были установлены

РЕДАКТИРОВАТЬ :

Пытался

//p/substring(text(), 10)

Говорит недопустимое выражение XPath

Как мне этого добиться?

заранее спасибо

Автор: Ioseb Khutsishvili Источник Размещён: 06.09.2019 09:14

Ответы (1)


2 плюса

Решение

Если вам нужен набор строк в результате выражения XPath 1.0, то вам не повезло, поскольку в XPath 1.0 такого типа данных нет: единственные доступные коллекции - это наборы узлов, и вы можете выбирать только узлы. которые уже существуют, вы не можете создавать новые.

С XPath 2.0 это кусок пирога:

//p/text()/substring(., 10)

Так что, если возможно, найдите себе процессор XPath 2.0.

Автор: Michael Kay Размещён: 19.01.2017 02:11
Вопросы из категории :
32x32