2014-01-08 6 views
0
#[xpath://soapenv:Envelope/soapenv:Body/out:notifications/out:Notification/out:sObject/urn:Summary] 

위의 XPATH XML 노드 값을 가져 오는 코드입니다. 작동하지 않습니다. 이것을 바로 잡을 수있는 방법. 하지만 다음 코드는 잘 작동합니다.XML 노드 값을 얻기 위해 노새에서 XPATH를 어떻게 사용할 수 있습니까?

<logger message="#[xpath('//*[local-name()=\'Description\']').text]&quot;" level="INFO" doc:name="Logger"/> 

나는이 작업을 수행 할 수있는 방법 1 XPATH 구문 형식으로 작업 할 ? 다음 코드는 내 XML 더미 데이터입니다. 모든

<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> 

답변

3

먼저, 첫 번째 표현식에 당신은 당신의 XML에 존재하지 않는 Summary라는 요소를 참조하고 있습니다. ,

<mulexml:namespace-manager includeConfigNamespaces="false"> 
    <mulexml:namespace prefix="soapenv" uri="http://schemas.xmlsoap.org/soap/envelope/" /> 
    <mulexml:namespace prefix="out" uri="http://soap.sforce.com/2005/09/outbound" /> 
    <mulexml:namespace prefix="urn" uri="urn:sobject.enterprise.soap.sforce.com" /> 
</mulexml:namespace-manager> 

위를 사용하고 존재 뭔가 Summary 교체 : 당신이 당신의 XPath 식에 네임 스페이스를 사용하려면

은 이제 글로벌 요소라는 네임 스페이스 관리자를 선언해야합니다 작품 :

<logger level="WARN" message="#[xpath://soapenv:Envelope/soapenv:Body/out:notifications/out:Notification/out:sObject/urn:Id]" /> 
+0

감사합니다. – user3129532