Retrieves a value in a XML or JSON document. The location of the value is specified by XPath or JsonPath.
Properties
Input
|
Name |
Description |
|---|---|
|
Data |
A string containing a XML or JSON document. |
|
Path |
A XPath or JsonPath query. |
|
DefaultValue |
Returned when node specified by Path cannot be found. |
Output
|
Name |
Description |
|---|---|
|
Value |
Value of node specified by Path (or DefaultValue). |
Path Expression
|
XPath |
JSONPath |
Description |
|---|---|---|
|
/ |
$ |
the root object/element |
|
. |
@ |
the current object/element |
|
/ |
.or[] |
child operator |
|
.. |
n/a |
parent operator |
|
// |
.. |
recursive descent. JSONPath borrows this syntax from E4X. |
|
* |
* |
wildcard.All objects/elements regardless their names. |
|
@ |
n/a |
attribute acces. JSON structures don't have attributes. |
|
[ ] |
[ ] |
subscript operator. XPath uses it to iterate over element collections and for predicates. In Javascript and JSON it is the native array operator |
|
I |
[,] |
Union operator in XPath results in a combination of node sets. JSONPath allows alternate names or array indices as a set. |
|
n/a |
[start:end:step] |
array slice operator borrowed from ES4 |
|
[ ] |
?( ) |
applies a filter (script) expression. |
|
n/a |
( ) |
script expression, using the underlying script engine |
|
( ) |
n/a |
group in Xpath |
Example
XML
Set Data to
<Root>
<Test attr="myAttr" >123</Test>
</Root>
Set Path to "Root/Test"
Get back "123"
JSON
Set Data to
{
"Test": 123,
"Folder": {
"Sub": "abc"
}
}
Set Path to "$.Folder.Sub"
Get back "abc"