3

次の問題があります。

私のXML(簡略化):

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

Username の値を augeas に置き換える必要があります。それはうまく動作します:

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

しかし、問題は次のとおりです。ユーザー名のエントリが常に 1 位にあるとは限りません。augeas で「一致」またはある種の正規表現で位置を探す方法はありますか?

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 に答える