比较linux中的xml标签

时间:2014-07-23 03:26:36

标签: xml linux shell

需要帮助来比较xml标签 我需要在Linux环境中比较2个xml文件标签。 我只想比较标签而不是价值。  比如说:

1.xml有

<CSVPrefix> 01 </CSVPrefix>
<CSVPostfix> e </CSVPostfix>
<CSVLandingZone> xyz </CSVLandingZone>

2.xml有

 <CSVPostfix>te</CSVPostfix>
 <CSVLandinone>/tmp/csv/</CSVLandingZone>

有没有免费的工具可以做到这一点? 或者甚至是一个shell脚本都可以,因为这是我们设置中支持的。

目前不支持其他语言,因此我无法编写任何py或java代码来进行比较。

1 个答案:

答案 0 :(得分:1)

第1步(任何shell):

$ xmlstarlet sel -t -m "/some-root/*" -v "name()" -n file1.xml
CSVPrefix
CSVPostfix
CSVLandingZone

第2步(像bash一样):

diff ... <(xmlstarlet sel ...) <(xmlstarlet sel ...)