【发布时间】:2015-10-29 10:13:57
【问题描述】:
我正在编写一个 groovy 脚本,在该脚本中我必须从请求 XML 文件中获取值并将其写入 XML 响应文件。
我知道如何从普通 XML 中读取值,如下所示:
def text = '''
<list>
<technology>
<name>Groovy</name>
</technology>
</list>
'''
def list = new XmlParser().parseText(text)
println list.technology.name.text()
我可以使用上述语法轻松访问节点。但在我的情况下,请求文件具有“关键字:标签”语法。考虑下面提到的货币转换器请求文件:
<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+)从请求写入响应,那么单独写入的变量不是好方法。那么有没有什么好的有效的方法呢?
【问题讨论】: