Найти значение узла-брата в файле xml с помощью команды ant xmltask

У меня есть следующий блок xml (стандартный файл jboss web.xml):

<web-app>
  <servlet>
    <init-param>
      <param-name>checkInterval</param-name>
      <param-value>-1</param-value>
    </init-param>
    <init-param>
      <param-name>reloading</param-name>
      <param-value>false</param-value>
    </init-param>
    .
    .
    .
  </servlet>
</web-app>

я хочу выбрать <param-value> из <init-param> с <param-name>=checkInterval и скопируйте это. Есть несколько (разные) <init-params> поэтому мне нужно выбрать его динамически.

Я пробовал следующее:

<target name="default" description="description">       
        <xmltask source="web.xml" dest="web_edited.xml">
            <copy path='/web-app/servlet/init-param[param-name="checkInterval"]/param-value/text()' property='property1' />     
        </xmltask>
        <echo>${property1}</echo>

</target>

ожидаемый результат -1, но вместо этого свойство не определено. любая идея?

1 ответ

Решение

Ваш XPath отлично работает для меня, поэтому я подозреваю, что это проблема с муравьем (извините, я об этом не знаю).

У меня есть одно предложение: попробуйте выбить бит text() с конца? Возможно, он набирает -1 как число.

Другие вопросы по тегам