Пример используемого вами xpath относится к элементам с именем add
с атрибутами с именем key
. В вашем случае вы ищете property
элементы с атрибутами с именем name
.
Далее, поскольку вы хотите изменить внутренний текст, а не атрибут @value
в элементе property
, следует удалить ссылку на конечный атрибут.
И, наконец, поскольку NHibernate xml имеет определенное пространство имен, вам придется сообщить xmlpoke , чтобы использовать правильное пространство имен.
Итак, задача должна выглядеть так:
<xmlpoke file="${nhibernate.file}"
xpath="/nhc:hibernate-configuration/nhc:session-factory/nhc:property[@name='connection.connection_string']"
value="${connection.string}">
<namespaces>
<namespace prefix="nhc" uri="urn:nhibernate-configuration-2.2" />
</namespaces>
</xmlpoke>
Примечание: я не проверял это, но общие правила xml / xpath здесь работают, поэтому я надеюсь, что это работает. Кроме того, возможно, существует способ указать xmlpoke, что заданное пространство имен должно быть значением по умолчанию и, таким образом, устранить необходимость префикса пространства имен для всех различных частей в xpath.
Удачи!