xmllint:如何将包含某些文本的子项提取到另一个xml

时间:2016-11-17 08:15:05

标签: xml bash grep xmllint

我以xml为例:

mWebView = (WebView) view.findViewById(webView);

这是我想要实现的新(单独)xml文件。因此,我想提取一些具有匹配条件的子项,并创建一个仅包含这些子项的新xml文件。

<Config>
<Version>0</Version>
<Model>My model</Model>
<ParameterList>
    <Parameter>
        <Name>Device.Modelname</Name>
        <Value>XC60</Value>
    </Parameter>
    <Parameter>
        <Name>Device.Size</Name>
        <Value>4</Value>
    </Parameter>
    <Parameter>
        <Name>Tyre.Size</Name>
        <Value>20</Value>
    </Parameter>
    <Parameter>
        <Name>Tyre.Model</Name>
        <Value>WATSU</Value>
    </Parameter>
</ParameterList>
</Config>

标准是,子名称必须是Device.Size或Tyre.Model。

我尝试循环遍历每个子节点并在bash脚本中的值中进行grepping或xarg'ing,但我想知道是否有一种简单的方法可以在xmllint中实现这一点。

1 个答案:

答案 0 :(得分:1)

结帐XPath。现在不需要手动解析XML;)

另外xmllint提供XPath interface