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>

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