loadrunner Lr_类函数之 lr_xml_insert()

lr_xml_insert()

将新的XML片段插入XML字符串。

int lr_xml_insert(<规范列表> [,<可选规范列表] [,LAST]);

 

参数说明:

List of specifications:对于以下所需规格的列表,请使用以下字符串格式:

“Specification = value”

    XML:要查询的XML输入字符串

    ResultParam:插入新片段后包含XML数据的输出参数

    Query:对输入字符串XML的XML查询。

    选择以下选项之一:

    XmlFragment:要插入的字符串。它可以是新元素或现有元素的属性。

or:

    XmlFragmentParam:包含要插入的字符串值的参数的名称

List of optional specifications:对于以下可选规格列表,请使用以下字符串格式:

“Specification = value”

     SelectAll:如果为“yes”,则将处理与查询匹配的所有元素。如果“否”,则仅处理第一个匹配。默认值为“no”。请参阅多查询匹配

     位置:插入XML片段的位置。选择以下选项之一:

        - before:将片段放在标签返回之前

               通过查询

        - after:放置标签返回后的片段

               通过Query(这是默认值)

        - child:将片段作为标签的子代

           由查询返回

        - attribute:表示元素的属性

               由查询返回

    NotFound:请参见继续出错

LAST:表示可选规范列表结束的标记

 

lr_xml_insert函数查询XML输入字符串XML以查找与查询条件匹配的值。然后,将XmlFragment或XmlFragmentParam插入查询返回的XML字符串中的位置(或位置)。

Position指定插入是在返回点之前还是之后完成。此外,子位置指定片段在查询找到的标签的结尾之前插入。例如,如果输入字符串为

<a> 53 </a>

子位置中的插入片段(“<b> ZZ </ b>”)将生成字符串:

<a> 53 <b> ZZ </ b> </a>

插入后的结果字符串将放在ResultParam中,使用源文档编码。

 

示例:lr_xml_insert

以下示例将“扩展”标记插入到员工记录中。它在输入字符串xml_input中搜索标签“<employee>”,并插入包含扩展信息的XML片段。 (“XmlFragment = <extension> 2145 </ extension>”)。

请注意,Position规范是子代,所以插入的字符串片段放在员工标签结束之前(在“</ employee>”)。

结果字符串包含在ResultParam参数Result中。

有关使用lr_xml_insert的更多示例,请参阅XML查询示例脚本中的“将属性插入根”和“使用参数在所有元素中插入子元素”部分。

#include“as_web.h”

char * xml_input =

“<acme_org>”

     “<employee>”

          “<name> John Smith </ name>”

          “<cubicle> 227 </ cubicle>”

     “</ employee>”

“</ acme_org>”;

Action(){

     lr_save_string(xml_input,“XML_Input_Param”);

     lr_xml_insert(“XML = {XML_Input_Param}”,“ResultParam = Result”,

          “XmlFragment = <extension> 2145 </ extension>”,

          “Query = / acme_org / employee”,

          “Position = child”,LAST);

     lr_output_message(lr_eval_string(“Insert after String:{Result}”)));

     return 0;

}}

 

输出:

Action.c(15):“lr_xml_insert”成功,处理1个匹配

Action.c(20):插入后的字符串:

<acme_org> <employee> <name> John Smith </ name>

<cubicle> 227 </ cubicle> <extension> 2145 </ extension>

</ employee> </ acme_org>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值