loadrunner Lr_類函數之 lr_xml_replace()

lr_xml_replace()

替換XML字符串的片段。

int lr_xml_replace(<規範列表> [,<可選規範列表]],[LAST]);

 

參數說明:

List of specifications:對於以下所需規格列表,請使用以下字符串格式:

“Specification = value”

    XML:要查詢的XML輸入字符串

    ResultParam:替換新值後包含XML數據的輸出參數的名稱

    查詢:對輸入字符串XML的XML查詢。

    選擇以下選項之一:

    XmlFragment:用作替換查詢match-an元素或屬性的字符串值。

    要麼:

    XmlFragmentParam:包含要用作替換的字符串值的參數的名稱

List of optional specifications:可選規格列表,對於以下可選規格列表,請使用以下字符串格式:

“Specification = value”

    SelectAll:如果爲“yes”,則將處理與查詢匹配的所有元素。如果“否”,則僅處理第一個匹配。默認值爲“no”。請參閱多查詢匹配

    NotFound:請參見繼續出錯

LAST:表示可選規範列表結束的標記

 

lr_xml_replace函數查詢XML輸入字符串XML以查找與查詢條件匹配的值,並將它們替換爲XmlFragment或XmlFragmentParam作爲查詢匹配的元素的值。您可以通過在XML查詢中指定其元素名稱或屬性來替換元素。使用源文檔編碼將生成的字符串放在ResultParam中。

如果有多個值要替換,則傳遞“XmlFragmentParam =”規範。將值存儲在一系列參數中,名稱爲:

Param_1,Param_2,Param_3,...

其中Param是值“XmlFragmentParam = Param”。 lr_xml_replace將Query的每個連續匹配替換爲系列中下一個參數的值。有關多值查詢的示例,請參閱lr_xml_set_values。

 

示例:lr_xml_replace

以下示例將員工的電話分機號碼從2145更改爲4444.它在輸入字符串xml_input中搜索標籤“<extension>”,並將該標籤替換爲包含數字4444的XML片段(“XmlFragment = <extension> 4444 </ extension>“)。結果字符串包含在ResultParam參數Result中。

 

有關使用lr_xml_replace的更多示例,請參閱替換和插入XML查詢的示例腳本中的元素。

#include“as_web.h”

char * xml_input =

“<acme_org>”

     “<employee>”

          “<name> John Smith </ name>”

          “<cubicle> 227 </ cubicle>”

          “<extension> 2145 </ extension>”

     “</ employee>”

“</ acme_org>”;

 

Action(){

     lr_save_string(xml_input,“XML_Input_Param”);

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

               “Query = / acme_org / employee / extension”,

               “XmlFragment = <extension> 4444 </ extension>”,LAST);

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

     return 0;

}}

 

輸出:

Action.c(20):替換後的字符串:<acme_org> <employee> <name> John Smith </ name> <cubicle> 227 </ cubicle> <extension> 4444 </ extension> </ employee> </ acme_org>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章