loadrunner Lr_类函数之 lr_xml_get_values()

lr_xml_get_values()

检索查询找到的XML元素的值。

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

 

参数说明:

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

“Specification = value”

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

    ValueParam:存储查询结果的输出参数的名称。如果不存在,则创建它。

    Query:对输入字符串XML的XML查询或快速查询。您可以指定元素或属性。

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

“Specification = value”

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

    NotFound:请参见继续出错

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

 

lr_xml_get_values函数查询XML输入字符串XML以查找与查询条件匹配的值。

 

示例:lr_xml_get_values

有关使用lr_xml_get_values的更多示例,请参阅示例1 - 在XML查询的示例脚本中执行查询和值相关函数。

实施例1

以下示例使用lr_xml_get_values搜索员工的姓名。

首先,一个简单的XML字符串存储在参数XML_Input_Param中。然后,使用XPath查询字符串“/ employee / name”调用lr_xml_get_values。然后,将在XML_Input_Param参数字符串上处理此查询。查询的结果存储在OutputParam参数中。 OutputParam的值使用lr_eval_string进行计算。

#include“as_web.h”

char * xml_input =

     “<employee>”

          “<name> John Smith </ name>”

          “<cubicle> 227 </ cubicle>”

     “</ employee>”;

Action(){

     lr_save_string(xml_input,“XML_Input_Param”); //将输入保存为参数

     lr_xml_get_values(“XML = {XML_Input_Param}”,

          “ValueParam = OutputParam”,

          “Query = / employee / name”,

          LAST);

     lr_output_message(lr_eval_string(“Query result = {OutputParam}”));

     return 0;

}}

输出:

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

Action.c(18):查询结果= John Smith

 

实施例2

以下示例与示例1类似,但检索到多个值。该查询从XML输入字符串xml_input检索所有电话机扩展。

#include“as_web.h”

char * xml_input =

“<acme_org>”

     “<accounts_dept>”

          “<employee>”

               “<name> John Smith </ name>”

               “<cubicle> 227 </ cubicle>”

               “<extension> 2145 </ extension>”

          “</ employee>”

     “</ accounts_dept>”

     “<engineering_dept>”

          “<employee>”

               “<name> Sue Jones </ name>”

               “<extension> 2375 </ extension>”

          “</ employee>”

     “</ engineering_dept>”

“</ acme_org>”;

 

Action(){

     int i,NumOfValues;

     char buf [64];

     lr_save_string(xml_input,“XML_Input_Param”); //将输入保存为参数

     NumOfValues = lr_xml_get_values(“XML = {XML_Input_Param}”,

          “ValueParam = OutputParam”,

          “Query = / acme_org / * / employee / extension”,

          “SelectAll = yes”,LAST);

     for(i = 0; i <NumOfValues; i ++){/ *打印OutputParam *的多个值*

          sprintf(buf,“Retrieved value%d:{OutputParam_%d}”,i + 1,i + 1);

          lr_output_message(lr_eval_string(buf));

     }}

     return 0;

}}

输出:

Action.c(34):检索值1:2145

Action.c(34):检索值2:2375

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值