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
>
<
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".
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 |