使用dataprovider karate替换XML节点密钥

使用dataprovider karate替换XML节点密钥,karate,Karate,我从文件中读取xml结构,并替换示例中的值 def inputXml=read('classpath:xml/input.xml') 我的xml结构如下所示 我想更新“n”标记名ACCOUNTTYPE和与上面类似的对应用途(键和值)。空手道有没有办法做到这一点?请建议 可以在xml文件中使用类似于json的“#(accountType)”和“#(purpose)”并运行吗 可以在xml文件中使用“#(accountType)”和“#(purpose)” 对。请阅读以下文件: 举例如下: 给定

我从文件中读取xml结构,并替换示例中的值

  • def inputXml=read('classpath:xml/input.xml')

    我的xml结构如下所示

我想更新“n”标记名ACCOUNTTYPE和与上面类似的对应用途(键和值)。空手道有没有办法做到这一点?请建议

可以在xml文件中使用类似于json的“#(accountType)”和“#(purpose)”并运行吗

可以在xml文件中使用“#(accountType)”和“#(purpose)”

对。请阅读以下文件:

举例如下:

给定def user=john
def lang='en'
当def会话=#(lang)#(用户)时
 <input>
 <data>
 <props>
 <p n="AMOUNT">1000</p>
 <p n="NAME">name</p>
 <p n="{ACCOUNTTYPE}">purpose</p>
 </props>
 </data>
 </input>
* set inputXml/input/data/props/p[@n='AMOUNT'] = <AMOUNT> -- Works fine
* set inputXml/input/data/props/p[@n='NAME'] = <NAME> -- Works fine
|AMOUNT|NAME|ACCOUNTTYPE|PURPOSE|



|100|abc|BUSINESS|smallbusiness|



|2000|def|PERSONAL|home|
Given def user = <user><name>john</name></user>
And def lang = 'en'
When def session = <session><locale>#(lang)</locale><sessionUser>#(user)</sessionUser></session>