Изменение значения XML-файла на основе ключа с помощью Ant

#regex #xml #string #replace #ant

#регулярное выражение #xml #строка #заменить #ant

Вопрос:

У меня есть фрагмент xml, как показано ниже

 <bean id="aqConnectionFactoryInitialiser" class="foo.aqjms.spring.OracleAqConnectionFactoryInitialiser">
        <property name="URL" value="jdbc:oracle:thin:@192.168.80.182:1234:foo"/>
        <property name="username" value="foo"/>
        <property name="password" value="xAU2oMLjNXU1GrKbcsjvMQ=="/>
    </bean>
 

Используя Ant, мне нужно только изменить value="foo" на value="bar" основе name="username" Я попробовал приведенный ниже фрагмент, но он заменил все foo вхождения

 <replace file="E:/vipul/drchanges_testing/testsnippet.xml">     
            <replacefilter token="foo" value="bar" />                           
        </replace>
 

Как я могу добиться этого с помощью Ant?

Ответ №1:

сначала вам нужно выбрать vlaue=»foo», используя это :

 (?<=name="username")s (value=".*?")
 

затем замените его значением =»bar»

демонстрация для регулярных выражений