2012-01-05 110 views
0

我有以下XML塊(標準的JBoss web.xml文件):找到一個兄弟節點的XML文件螞蟻xmltask值

<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> 

我想選擇的<init-param><param-value><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,而是該屬性未定義。 有什麼想法?

+0

顯然問題在於該文檔包含多個XML名稱空間。定義如下:'<?xml version =「1.0」encoding =「UTF-8」?> 應用程序顯示名稱 ....'so''變成'<插入路徑=」/:web-app /:display-name「xml =」新應用程序名稱「/>' – Michael 2012-01-09 12:43:11

+0

更多信息可以在這裏找到:http://today.java .net/pub/a/today/2006/11/01/xml-manipulation-using-xmltask.html – Michael 2012-01-09 12:43:51

回答

2

您的XPath對我來說工作正常,所以我懷疑這是螞蟻的問題(對不起,不太瞭解)。

但我有一個建議:嘗試從最後敲掉'text()'位?它可能是以數字輸入-1。

+0

你是對的,xpath沒問題,問題出在螞蟻的任務上,確實沒有用手使用多個名稱空間。 – Michael 2012-01-09 12:45:11