2013-09-23 185 views
1

我使用org.apache.commons.configuration.XMLConfiguration來讀取我的Java代碼中的XML配置文件。我的XML格式如下:Apache Commons XMLConfiguration-如何通過屬性名稱獲取對象?

<items> 
    <item name = "cherry"> 
     <colour >red</colour > 
    </item> 

    <item name = "apple"> 
     <colour >green</colour > 
    </item> 
</items> 

我想獲得一個名爲'cherry'itemcolour值。 我試過這個:

config.getString("items.item[@name=cherry].colour"); 

但它不起作用,有什麼建議嗎?

+0

什麼config.getString( 「items.item [@name = /」 櫻花/ 「]色。」); –

回答

1

從代碼Thrill weblog,我發現我需要config.setExpressionEngine(new XPathExpressionEngine());

這需要commons-jxpath庫設置表達式引擎XPath

然後我可以使用XPath這樣得到的結果:

config.getString("items/item[@name='cherry']/colour"); 
+1

它是config.getString(「items/item [name ='cherry']/color」),你可以在Thrill博客鏈接中找到相同的內容。 – Swamy