请问我如何返回用逗号分隔的ID列表?
<nodes>
<node>
<id>1</id>
<name>idbread</name>
</node>
<node>
<id>2</id>
<name>idbutter</name>
</node>
</nodes>
期望的输出
1,2
我尝试使用XPath,但是concat仅返回第一个值。
xpath node.xml“ // nodes / node / id / text()” 2> / dev / null
返回
12
您可以为此使用xmlstarlet:
xmlstarlet sel -t -v "/nodes/node[1]/id" -m "/nodes/node[position()>1]" -v "concat(',',id)" input.xml