如何使用xml-printf从多个元素中提取值?

时间:2016-04-24 01:07:54

标签: xml xpath

对于以下示例,我想提取结果并按以下方式打印。

ID1<TAB>Text1
ID2<TAB>Text2

但我找不到合适的命令。有没有人知道以下列方式打印输出的最佳命令是什么?

~$ cat xxx.xml
<a>
<b>
  <c>ID1</c>
  <d>
   <e>Text1</e>
  </d>
</b>
<b>
  <c>ID2</c>
  <d>
   <e>Text2</e>
  </d>
</b>
</a>
~$ xml-printf '%s\t%s\n' xxx.xml :/a/b/c :/a/b/d/e
ID1
ID2    Text1
Text2

1 个答案:

答案 0 :(得分:0)

有多个b元素;您可以迭代它们并使用xml-printf格式化每个

$ for i in {1..2}; do xml-printf '%s\t%s\n' xxx.xml :/a/b[$i]/c :/a/b[$i]/d/e; done
ID1 Text1
ID2 Text2
$

按要求。