The following node is available in the Open Source KNIME predictive analytics and data mining platform version 2.7.1. Discover over 1000 other nodes, as well as enterprise functionality at http://knime.com.

XPath

The node takes the XML Documents of the selected column and performs a XPath query on them. The node supports XPath 1.0.

XPath Examples

Consider the XML document:
<inventory>
<book year="1999">
<title>Harry Potter and the Sorcerer's Stone</title>
<author>J. K. Rowling</author>
</book>
<book year="2000">
<title>Harry Potter and the Chamber of Secrets</title>
<author>J. K. Rowling</author>
</book>
</inventory>

With the Return type "Node-Set" and the denoted XPath query you can get

With the Return type "String" you can get the value of the first year attribute with //@year. If you want all publishing dates you can use a flow of two XPath nodes and own Ungroup node. Use an XPath node with query //@year and return type "Node-Set" then the Ungroup node followed by an XPath with query //@year and return type "String".

You can find more examples at w3cschools.com.

Dialog Options

XML column
The column containing the XML cells.
New column name
Name of the new column in the output table.
Remove source column
Check when the source column should not show up in the output table.
XPath query
Define the XPath query here.
Return type
Choose the result type of your XPath query. The result type will be match to a KNIME type denoted in braces. There are return type specific Options. You can define if missing cells should be written to the output for extreme values of this type. If the returned node is an attribute you must embed this attribute in an element, since XML cells must have an root element. For the Node return type you can define the name of this element.
Namespaces
The prefices and the namespaces used in the XPath query. For the example when querying XHTML documents with the XPath Query:
//pre:h1
the following namespace must be defined:
Prefix: pre
Namespace: http://www.w3.org/1999/xhtml
Incorporate namespace of the root element.

This option is useful when you do not have the default namespace of your document at hand.

If checked, the namespace of the root element ist added to the Namespaces table during runtime. Please define a prefix for this namespace in Prefix of root's namespace.

For the example of XHTML documents the namespace of the root element is http://www.w3.org/1999/xhtml so that with the root's prefix of pre you can leave the Namespaces table empty.

Ports

Input Ports
0 Input table containing at least one XML column.
Output Ports
0 The input table with additional column containing the result of the XPath query.
This node is contained in KNIME XML provided by KNIME GmbH, Konstanz, Germany.