XPath Search Field Expression Plugin
Easily extract unique values from XML messages using the XPath Search Field Expression plugin. This page shows you how to configure XPath expressions to quickly retrieve data from large XML payloads, with clear, step-by-step examples.
✅ Extract single or multiple unique values from XML messages
✅ High-performance, forward-only stream reader for large payloads
✅ Supports multiple XPath expressions using the | character
✅ Works with BizTalk, SOAP, REST APIs, and any XML format
🎯 Design Note: Optimized for large XML payloads with forward-only streaming performance!
What does the XPath plugin do?
The XPath plugin lets you extract one or more unique values from XML messages using XPath 1.0 expressions. It processes messages efficiently with a high-performance, forward-only stream reader based on Microsoft's XPathReader.
Key Features:
Info
Use Case: Extract data from SOAP messages, BizTalk messages, XML REST APIs, or any XML-based integration platform.
- Use XPath 1.0 to select elements or attributes from XML messages
- Return unique values for use in Search Fields and Log Views
- Efficiently process large XML payloads with streaming
- Support for multiple expressions using the
|separator
Important
Not all XPath expressions are supported—only forward navigation is allowed due to the stream reader architecture.
How it works
The XPath plugin processes XML messages in three steps:
- Input: The XML message payload
- Expression: An XPath 1.0 expression to match values
- Result: Unique value(s) extracted from the XML
The XPath expression navigates the XML structure and extracts matching values using a forward-only stream reader.
Example
<Orders>
<Order>
<Id>101</Id>
**Result:**
<Order>
<Id>102</Id>
</Order>
</Orders>
Orders/Order/Id
Result:
101
102
Tip
Use
node()to match any root element when working with multiple message types with different root names.
Example 2: Extracting Order IDs from Multiple Message Types
Goal: Use a single XPath expression to extract order IDs from both Orders and OrderResponse message types.
Input 1:
<ns0:Orders xmlns:ns0="Common.Schemas/Nodinite/1.0">
<Order>
<Id>101</Id>
<Amount>1000</Amount>
<City>Karlstad</City>
</Order>
<Order>
<Id>102</Id>
<Amount>10</Amount>
<City>Stockholm</City>
</Order>
</ns0:Orders>
Input 2:
<ns0:OrderResponse xmlns:ns0="Common.Schemas/Nodinite/1.0">
<Order>
<Id>101</Id>
<Status>OK</Status>
</Order>
<Order>
<Id>102</Id>
<Status>Failed</Status>
</Order>
</ns0:OrderResponse>
Expression:
node()/Order/Id
Result:
101
102
How to Configure the Plugin
- Select the XPath expression type plugin when adding or editing a Search Field.
- Enter your XPath expression to select the XML element or attribute.
- Finalize remaining steps, including selection of Message Types and optional re-index operation.
- Test your configuration using the Test Expression tab.
- Save and apply the Search Field to your Message Types.
Testing and Troubleshooting
- Use the Test Expression feature to validate your XPath before saving.
- If your expression returns no result, check for typos or unsupported XPath features.
- The actual result (values) are extracted by the Logging Service and then presented together with the evaluated processing state and the number of unique matches.

Selecting the XPath plugin in the Search Field configuration.

A valid expression with state output, unique values, and total count.

Example of an invalid expression, which yields no result.
Visual Overview
Diagram: How Search Fields, Expressions, and Message Types connect in Nodinite.
Next Step
Related Topics
- What are Search Fields?
- What are Search Field Expressions?
- What are Message Types?
- What are Log Views?