在我的xml中:
<test>
<a id="bk1"/>
<b id="bk2"/>
</test>
使用以下xpath:
/child::test/child::a/@id
结果返回
bk1bk2
预期产出
bk1
bk2
或
bk1,bk2
是不可能这样做的?
答案 0 :(得分:1)
试试这个:
string-join(/child::test/child::a/@id, ',')
请注意,您可能拼错了src XML,因为它无效(未关闭的标记),并且您只有一个标记<a>
。
编辑:
基于您之前的评论,我假设您需要Oracle(PL /)SQL的解决方案。这可能是一种方法:
select t.*
from xmltable('for $t in $d/test return <t>{fn:string-join($t/a/@id, ",")}</t>'
passing xmltype('<test><a id="bk1"/><a id="bk2"/></test>') as "d"
columns "ids" varchar2(256) path '/t'
) t