3

我有以下问题:

我的 XML(简化):

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <properties>
    <property name="username">USERNAME</property>
    <property name="anything">blabla</property>
  </properties>
</configuration>

我需要用 augeas 替换用户名值。它适用于:

augtool> set /files/test.xml/configuration/properties/property[1]/#text NEWUSER

但问题是:用户名条目并不总是在位置一。有没有办法用“匹配”或某种正则表达式来寻找位置?

augtool> match /files/test.xml/configuration/properties/*/#attribute/name  username

效果很好

/files/test.xml/configuration/properties/property[1]/#attribute/name

但是我不知道在设置值时如何使用这些信息。

4

1 回答 1

7

你需要做的是:

set /files/test.xml/configuration/properties/property[#attribute/name='username']/#text NEWUSER

这将选择子节点匹配的属性 ( /files/test.xml/configuration/properties/property) ,并将其子节点设置为。#attribute/nameusername#textNEWUSER

于 2013-06-04T13:43:38.600 回答