我有一个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
。
如果我执行常规concat,则字符串看起来像
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实现此目标?任何其他方法也可以。
答案 0 :(得分:0)
尝试xpath
axes
。
concat(string-join(value, ' '), '', string-join(value[descendant-or-self::exam], ' '), '', string-join(value[descendant-or-self::numb], ' '))