Как получить данные из любого типа данных BPEL? [Xpath / xquery] - PullRequest
0 голосов
/ 26 февраля 2020

Я не могу получить данные из XSD: любой тип данных в BPEL Подписаться на процесс события

<?xml version="1.0" encoding="UTF-8"?>
<inputVariable0>
   <taskAssignedMessage xmlns="http://xmlns.oracle.com/bpel/workflow/taskService">
      <action>INITIATE</action>
      <task xmlns="http://xmlns.oracle.com/bpel/workflow/task">
         <title>Self-Register User Request ID-216025</title>
         <payload>
            <RequestID>999</RequestID>
            <RequestModel>Self-Register User</RequestModel>
            <RequestTarget />
            <RequesterDetails xmlns="http://xmlns.oracle.com/request/RequestDetails">
               <ns0:Login xmlns:ns0="http://xmlns.oracle.com/request/RequestDetails" />
               <ns0:DisplayName xmlns:ns0="http://xmlns.oracle.com/request/RequestDetails" />
            </RequesterDetails>
            <BeneficiaryDetails xmlns="http://xmlns.oracle.com/request/RequestDetails">
               <ns0:DisplayName xmlns:ns0="http://xmlns.oracle.com/request/RequestDetails">None</ns0:DisplayName>
            </BeneficiaryDetails>
            <ObjectDetails xmlns="http://xmlns.oracle.com/request/RequestDetails">
               <ns0:attributes xmlns:ns0="http://xmlns.oracle.com/request/RequestDetails" />
            </ObjectDetails>
            <OtherDetails xmlns="http://xmlns.oracle.com/request/RequestDetails" />
            <RequesterDisplayName />
            <BeneficiaryDisplayName>None</BeneficiaryDisplayName>
            <Requester />
            <CatalogData xmlns="http://xmlns.oracle.com/RequestServiceApp/RequestDataService/CatalogData" />
            <RegistrationRequestElement xmlns="http://www.approver-notification.org">
               <Approver_UserId>Manager</Approver_UserId>
               <Approver_divisionID>DIV310021</Approver_divisionID>
               <Approver_isAboveJE>NO</Approver_isAboveJE>
            </RegistrationRequestElement>
            <Discoms>ABC</Discoms>
            <Post>OA_FIRST</Post>
            <FirstName>Test</FirstName>
            <LastName>Nikita</LastName>
            <RequestType>Self-Register User</RequestType>
         </payload>
      </task>
   </taskAssignedMessage>
</inputVariable0>

Мне нужно получить данные из RegistrationRequestElement / Approver_UserId. Если у кого-то есть идеи по поводу того же, пожалуйста, помогите мне. @ Джо

1 Ответ

0 голосов
/ 01 марта 2020

Вставленный вами xml содержит слишком много повторяющихся объявлений пространства имен. Предполагая, что вы не можете это контролировать, попробуйте использовать это выражение xpath:

//*[name()='inputVariable0']//*[name()='taskAssignedMessage']//*[name()='task']//*[name()='RegistrationRequestElement']/*[name()='Approver_UserId']/data(.)

Вывод:

Менеджер

...