#[xpath://soapenv:Envelope/soapenv:Body/out:notifications/out:Notification/out:sObject/urn:Summary]
I am using the above XPATH
Code for fetching the XML node values. It's not Working. How can Correct this. But the following code Working fine.
<logger message="#[xpath('//*[local-name()=\'Description\']').text]"" level="INFO" doc:name="Logger"/>
i want to work on with the 1st XPATH Syntax format How can i do this? The Following Code is my XML Dummy data.
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:out="http://soap.sforce.com/2005/09/outbound" xmlns:urn="urn:sobject.enterprise.soap.sforce.com">
<soapenv:Header/>
<soapenv:Body>
<out:notifications>
<out:OrganizationId>12345</out:OrganizationId>
<out:ActionId>999999</out:ActionId>
<out:SessionId>000000</out:SessionId>
<out:EnterpriseUrl>ggggggg</out:EnterpriseUrl>
<out:PartnerUrl>hhhhhhh</out:PartnerUrl>
<!--1 to 100 repetitions:-->
<out:Notification>
<out:Id>iiiiiiii</out:Id>
<out:sObject>
<!--Zero or more repetitions:-->
<urn:fieldsToNull>jjjjjjj</urn:fieldsToNull>
<urn:Id>789076</urn:Id>
<!--Optional:-->
<urn:FirstName>aaaa</urn:FirstName>
<!--Optional:-->
<urn:LastName>bbbbb</urn:LastName>
</out:sObject>
</out:Notification>
</out:notifications>
</soapenv:Body>
</soapenv:Envelope>
First of all, in the first expression you're referring to an element called
Summary
which doesn't exist in your XML.Now if you want to use namespaces in your xpath expression, you will have to declare them in the global element called namespace-manager:
Using the above and replacing
Summary
with something that does exist, works: