使用xmlstarlet提取数据

时间:2013-07-29 13:05:22

标签: xmlstarlet

我有以下格式的xml文件,并希望在元素/ CONFIG / NIC / MGMT = 1时提取元素IP,NETWORK,NETMASK,GATEWAY和VLANID中的值。有人能指出我正确的方向......任何帮助都会感激不尽..谢谢

<CONFIG>
 ~
 <NIC>
  <MAC>--MAC--ADDRESS--</MAC>
  <IP>--IP--ADDRESS--</IP>
  <DEFAULT>--0--OR--1--</DEFAULT>
  <BUILD>--0--OR--1--</BUILD>
  <MGMT>--0--OR--1--</MGMT>
  <VLAN>
   <NETWORK>--NETWORK--IP--</NETWORK>
   <NETMASK>--NETMASK--IP--</NETMASK>
   <GATEWAY>--GATEWAY--IP--</GATEWAY>
   <VLANID>--VLAN--ID--</VLANID>
 </VLAN>
 </NIC>
~
</CONFIG>

1 个答案:

答案 0 :(得分:1)

这样的东西
xmlstarlet sel -T -t -m '/CONFIG/NIC[MGMT = 1]' \
    -v IP -n -v VLAN/NETWORK -n -v VLAN/GATEWAY -n -v VLAN/VLANID -n config.xml