我正在处理一个groovy脚本,在这个脚本中,我必须从请求XML文件中提取值并将其写入XML响应文件。如何从XML Request中读取值并使用Groovy写入XML Response?
我知道如何从正常XML下面给出的读取值:
def text = '''
<list>
<technology>
<name>Groovy</name>
</technology>
</list>
'''
def list = new XmlParser().parseText(text)
println list.technology.name.text()
我可以使用上述语法轻松访问节点。但在我的情况下,请求文件具有'keyword:label'语法。考虑下面提及的申请文件进行货币转换器:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:web="http://www.webserviceX.NET/">
<soap:Header/>
<soap:Body>
<web:ConversionRate>
<web:FromCurrency>USD</web:FromCurrency>
<web:ToCurrency>INR</web:ToCurrency>
</web:ConversionRate>
</soap:Body>
</soap:Envelope>
如何在这种情况下读取FromCurrency
价值?除了使用XMLParser之外,还有没有其他有效的方法可以处理更大的XML文件?
另外,尽管我通过创建脚本多个变量和使用语法“$ {} VAR_NAME使用响应它们的值写入响应值写入。
如果我想写很多值(假设20+ )从请求到响应,那么对于个人写作的变量不是好办法那么,有没有这方面的任何良好和有效的方式
我该怎么办的使用XMLParser的一样吗? – Madhusudan
为什么? XmlSlurper出了什么问题? –
刚刚发布了一个XmlParser示例的答案,但我同意@tim_yates:XmlSlurper出了什么问题? – jalopaba