我正在尝试通过slax在Juniper路由器上处理一些XML输出。以下是我正在处理的XML数据。
<filesystem>
<filesystem-name>/dev/ad2s1f</filesystem-name>
<total-blocks junos:format="34G">70754788</total-blocks>
<used-blocks junos:format="5.6G">11800836</used-blocks>
<available-blocks junos:format="25G">53293572</available-blocks>
<used-percent> 18</used-percent>
<mounted-on>/var</mounted-on>
</filesystem>
我想获取
available-blocks
的"25G"
属性值。 @attribute
对我不起作用,或者我的语法错误。谁能帮助xpath查询?我正在寻找这样的东西:var $test = $var_data/available-blocks[@*];
最佳答案
您的xmlns是否已定义?然后,它应该很简单:
<configuration xmlns:junos="junos">
<filesystem>
<filesystem-name>/dev/ad2s1f</filesystem-name>
<total-blocks junos:format="34G">70754788</total-blocks>
<used-blocks junos:format="5.6G">11800836</used-blocks>
<available-blocks junos:format="25G">53293572</available-blocks>
<used-percent> 18</used-percent>
<mounted-on>/var</mounted-on>
</filesystem>
</configuration>
Xpath 2.0:
//available-blocks/@*
Online Demo
关于xml - xpath查询以处理XML输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51145770/