select nodes from XML/DOM to List()

This function stores the XPath expression from the XML/DOM object a in a list c from the root directory on up to the specified XPath expression b.

You can optionally create a concatenated XPath expression out of values b and d. It is also possible to set specific namespaces using a map, which can be defined with parameter e. Existing namespaces with the same name will be replaced.

The function returns the number of nodes in the result set.

Parameters


Parameter

Description

a

Name of XML/DOM object.

b

XPath expression (selection of a specific set of nodes).

c

Name of the list.

d

Optional XPath expression.

e

Name of the map for the namespace management.

Example


The following XML file is used.


Invoice.xml
<Invoice>
<user>
<customer_number>12345</customer_number>
<first_name>Gustav</first_name>
<last_name>Thalmeier</last_name>
<place>Treuchtlingen</place>
<birthday>15.07.1981</birthday>
<order>
<article_id id="123689">DE459363258</article_id>
<quantity>1</quantity>
<price>17.98</price>
</order>
<order>
<article_id id="5896324">459363298</article_id>
<quantity>1</quantity>
<price>4.99</price>
</order>
</user>
<user>
<customer_number>85639</customer_number>
<first_name>Henriette</first_name>
<last_name>Michlmeier</last_name>
<place>Breckerfeld</place>
<birthday>04.12.1975</birthday>
<order>
<article_id id="9832475">DE459362358</article_id>
<quantity>1</quantity>
<price>199.59</price>
</order>
<order>
<article_id id="123659">459363258</article_id>
<quantity>3</quantity>
<price>7.99</price>
</order>
<order>
<article_id id="123689">DE459363258</article_id>
<quantity>1</quantity>
<price>14.99</price>
</order>
</user>
</Invoice>


For each user, we want the customer number and the item number that does not begin with "DE".


images/download/attachments/189461406/858-version-1-modificationdate-1737952533540-api-v2.png


In the calculation field "loadXML" the list is issued (separated by "|") with all XPath expressions to value "user". In the first row of the table below, the parameters for these functions are listed. The node "user" drags on the list "list_user_data". In the field "xpath" of the respective XPath expression is listed for each node. In the fields "customer_number" and "article_id" the evaluated data is issued. In addition, the value of the field "article_id", are stored in a list "list_article_id" with the function described here. The XPath expression is obtained from the parameter d (in this case "/Invoice/user") and the second parameter specified below c ("/order[article_id>0]/article_id") composed. The set parameters can be found in row two in the table.


Parameter a

Parameter b

Parameter c

Parameter d

Result

xml_Invoice

//user

list_user_data


2

xml_Invoice

/order[article_id>0]/article_id

list_article_id

xpath

2