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 =
     " <accounts_dept>"
               " <name>John Smith</name>"
          "<employee level=\"manager\">"
               "<name>Sue Jones</name>"

Action() {

     int i, NumOfValues;
     char buf[64];

     lr_save_string(xml_input, "XML_Input_Param"); // Save input as parameter

          "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}",
    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" *****