1
に子要素のすべての可能な親要素をリストにこのデータを考える:どのようにxmlstarlet
<root>
<A>
<A1 id="1">
<elem>apple</elem>
</A1>
</A>
<B>
<B1 id="2">
<elem>banana</elem>
</B1>
</B>
<C id="3">
<elem>grapes</elem>
<C1></C1>
</C>
</root>
どのように私は要素elemはの可能なすべての親要素を見つけるのですか?これまでのところ、私はで-mオプションを使用して見つけることができる午前:
$ xmlstarlet sel -t -m '//elem/..' -v 'concat(name(),"=",@id)' -n input3.xml
A1=1
B1=2
C=3
$
しかし、私は-vとのXPath式を使用して同じことをどのように行うのですか?あなたが行うことができ
$ xmlstarlet sel -t -v '//elem/../@id' input3.xml
1
2
3
$
ありがとう:
私は少し異なるXPathを好むだろうが。できます。私は別のアイデアが出てくるまで数日待ってからこの答えを受け入れるつもりです。 – ifelsemonkey
@daixtr - この回答を受け入れることを検討してください。より良い回答が掲載されている場合は、いつ受け入れられるかを変更することができます。 –