You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

XPath

Camel supports XPath to allow an Expression or Predicate to be used in the DSL or Xml Configuration. For example you could use XPath to create an Predicate in a Message Filter or as an Expression for a Recipient List.

To add an XPath expression to your routing rules its usually easiest to import the XPathBuilder classes methods then you can use the xpath() function inside your rules.

import static org.apache.camel.builder.xpath.XPathBuilder.*;

...


from("queue:foo").filter(xpath("//foo")).to("queue:bar")

Examples

Here is a simple example using an XPath expression as a predicate in a Message Filter

Error formatting macro: snippet: java.lang.NullPointerException

Often the XML you are using has namespaces within it, so you can specify the namespaces to use in your XPath as follows in this example

Error formatting macro: snippet: java.lang.NullPointerException

If you have a standard set of namespaces you wish to work with and wish to share them across many different XPath expressions you can use the NamespaceBuilder as shown in this example

Error formatting macro: snippet: java.lang.NullPointerException
  • No labels