Share this page

# Example: lr_xml_extract

The following example uses lr_xml_extract to retrieve the employees in the engineering department from the XML string xml_input. lr_xml_extract extracts the entire string fragment that makes up the tag /acme_org/engineering_dept/employee.

The resulting fragment is stored in the XMLFragmentParam parameter Result, which is sent to the output at the end of the test.

For more examples of the use of lr_xml_extract, see Get a fragment in Example Scripts for XML Queries.

    #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 level=\"manager\">"
                   "<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"); // Save input as parameter

         lr_xml_extract("XML={XML_Input_Param}",
              "XMLFragmentParam=Result",
              "Query=/acme_org/engineering_dept/employee", LAST );

         lr_output_message(lr_eval_string("Extracted: {Result}"));

         return 0;
    }

Example: Output:
Action.c(31): Extracted: <employee level="manager"><name>Sue Jones</name><extension>2375</extension></employee>

## Example 2

    In the following example, lr_xml_extract extracts an attribute and its value from the employee element.

    lr_xml_extract( "Xml={XML_Input_Param}",

        "Query=/acme_org/engineering_dept/employee/@level",

        "XMLFragmentParam=Result",

        LAST

        );

        lr_output_message(lr_eval_string("***** {Result} *****"));

Example: Output:
Action1.c(117): "lr_xml_extract" was successful, 1 match processed
Action1.c(122): ***** level="manager" *****

Tips to improve your search results... VuGen Function Reference Version 25.1-25.3 Function Reference 25.1-25.3 All View Local Help Center View Online Help Center Version: