如何使用 augeas xml 导航 XML

How Navigate XML with augeas xml

我有一个非常奇怪的 xml 文件,我需要使用 augeas 更新它。

<root>
    <node name="Client">
        <node name="Attributes">
            <info>
                <test>
                    <entry><key>colour</key><value type="string">blue</value></entry>
                </test>
            </info>
        </node>
    </node>
    <node name="Network">
        <node name="Server">
            <info>
                <test>
                    <entry><key>transport</key><value type="string">internet</value></entry>
                    <entry><key>ipAddr</key><value type="string">125.125.125.142</value></entry>
                    <entry><key>portNo</key><value type="string">1234</value></entry>
                    <entry><key>protocolType</key><value type="string">tcp</value></entry>
                </test>
            </info>
        </node>
    </node>
</root>

我需要更新紧跟在包含文本 ipAddr 的元素 "key" 之后的元素 "value"。

根据您对要更新的节点的描述,建议如下:

set /files/path/to/your/file.xml//entry[key/#text="ipAddr"]/value/#text "255.255.255.0"

这会选择文件中任何级别的 entry 节点,它有一个值为 ipAddrkey/#text 子节点,然后更新其 value/#text 子节点以具有值 255.255.255.0.