Как объединить различные дочерние узлы с помощью xpath - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть файл EDIFACT, в котором, помимо прочего, есть три поля:

- Value
- Exam
- Numb

Они находятся в цикле и могут иметь значения 'n'. Пример ниже, где n = 4:

Value 1, Value 2, Value 3, Value 4
Exam 1, Exam 2, Exam 3, Exam 4
Numb 1, Numb 2, Numb 3, Numb 4

Я хотел бы объединить Value, Exam, Numb. Если я выполняю обычный конкатат, строка будет выглядеть так:

Value 1, Value 2, Value 3, Value 4, Exam 1, Exam 2, Exam 3, Exam 4, Numb 1, Numb 2, Numb 3, Numb 4

Однако я хочу, чтобы они отображались следующим образом:

Value 1, Exam 1, Numb 1, Value 2, Exam 2, Numb 2 Value 3, Exam 3, Numb 3, Value 4, Exam 4, Numb 4.

Я попробовал это:

concat(string-join(Value, ' '), '', string-join(Exam, ' '), '', string-join(Numb, ' '))

и вывод был:

Value 1, Value 2, Value 3, Value 4, Exam 1, Exam 2, Exam 3, Exam 4, Numb 1, Numb 2, Numb 3, Numb 4

Также пробовал ниже, и выход не был создан

string-join(Value/concat(Exam, ' ',Numb, ' '), '')

string-join(Value/string-join(Exam | Numb, ''), '')

Можете ли вы посоветовать, как я могуиспользовал XPATH для достижения этой цели? Подойдет любой другой метод.

...