我有以下XML文件:
<Body>
<ELEMENT Property1="A" Property2="B" Property3="C"/>
<ELEMENT Property1="D" Property2="E" Property3="F"/>
<ELEMENT Property1="G" Property2="H" Property3="I"/>
</Body>
我正在尝试让一个字符串对象具有如下所有的所有属性值:
A,B,C; d,E,F; G,H,I
我基本上需要用分号分隔每个ELEMENT属性。
怎么做?
答案 0 :(得分:1)
您可以尝试以下表达式
string-join((string-join(//ELEMENT/@Property1, ','), string-join(//ELEMENT/@Property2, ','), string-join(//ELEMENT/@Property3, ',')), ';')
输出:
A,D,G;B,E,H;C,F,I
或
string-join((string-join(//ELEMENT[1]/@*, ','), string-join(//ELEMENT[2]/@*, ','), string-join(//ELEMENT[3]/@*, ',')), ';')
输出:
A,B,C;D,E,F;G,H,I
答案 1 :(得分:1)
由于我希望ELEMENT之间的属性和,
之间有;
,这里是未定义数量的ELEMENT所需的解决方案:
string-join(for $x in //ELEMENT return string-join($x/@*,','), ';')
结果是
A,B,C; d,E,F; G,H,I