2014-07-12 110 views
-2

如何通過傳遞標籤名稱而不使用硬編碼標籤名稱來獲取以下XML中的任何標籤(例如Quantity)的值 -通過在Groovy中通過XML Parser方法中的字符串傳遞標籤名來獲取標籤值

def temp1=""" 
<TradeRecord> 
    <TradeId>1000</TradeId> 
    <SecurityId>10382456</SecurityId> 
    <TradeType>SELLL</TradeType> 
    <TradeDate>2014-03-21</TradeDate> 
    <Broker>100</Broker> 
    <Exchange>1</Exchange> 
    <Status>INIT</Status> 
    <Quantity>125</Quantity> 
    <ApprovedBy /> 
</TradeRecord> 
""" 

def records = new XmlParser().parseText(temp1) 
//log.info records.Quantity[0].text()  By using this i am getting value but i want  'Quantity' to come from a string 
tag = 'Quantity' 
xy = records["Quantity"].value; 'This is not working 
log.info xy 

回答

0

你應該能夠做到

records."$tag".text() 
0

你應該使用.text()方法

records[tag].text()

+0

謝謝庫納爾,我的一個更多的查詢如何設置值的任何這些標籤,這又是來自一個字符串。 – user3774346

+0

可能這是你正在尋找的:http://stackoverflow.com/questions/16061762/xmlslurper-how-to-change-the-text-of-a-dynamic-node – kunal

+0

Kunal,那代碼不工作我想要更新任何標籤值,但該標籤名稱和新值來自csv。 – user3774346