2017-05-26 36 views
1

XMLの例:私は名前は "位置" であるxmlstarletで値を取得できますかxmlstarlet検索属性

<?xml version="1.0" encoding="UTF-8"?> 
<profile> 
<section name="Vision"> 
<key name="Name" value="BBBB"/> 
<key name="Name_Remark" value="GGGG"/> 
<key name="Position" value="30"/> 
</section> 
</profile> 

。今は30です。

ありがとうございます。

答えて

0

あなたは、このコマンドラインを使用することができます...

xmlstarlet sel -t -v "/profile/section/key[@name='Position']/@value" -n input.xml 

selコマンドを選択するようにxmlstarletを伝えます。

-tオプションを指定すると、xmlstarletには、-tのオプションがテンプレート用です。

-vは、XPath式の値を出力するようxmlstarletに指示します。

-nは、xmlstarletに新しい行を印刷するよう指示します。 (完全には必要ではありません)

これらのすべては、コマンドラインからxmlstarlet sel --helpを実行すると見つかります。

+0

ありがとうございます。私は他の1つの質問があります:カンマ区切りの出力を1行にするにはどうすればいいですか?たとえば30、BBBB?ありがとう –

+0

@ Max-M - 別の質問を別に作成してください。この質問へのコメントとして、自由にリンクを追加してください。 –