2016-07-13 5 views
0

мне нужно перейти к Eventos, мне удалось добраться до тела, я пробовал много разных способов, но я понятия не имею, как я могу пойти в Eventosмне нужна помощь, чтобы создать Xpath XML

Здесь является Xpath, чтобы попасть в орган //soapenv:Envelope/soapenv:Body

полный XML, что мне нужно, чтобы перейти

<?xml version="1.0" encoding="UTF-8"?> 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
    <soapenv:Header> 
    <X-OPNET-Transaction-Trace:X-OPNET-Transaction-Trace xmlns:X-OPNET-Transaction-Trace="http://opnet.com">pid=51867,requestid=514f6f1c3ce5d216f124779a80119db21dbad1c6d38cc9a9</X-OPNET-Transaction-Trace:X-OPNET-Transaction-Trace> 
    </soapenv:Header> 
    <soapenv:Body> 
    <ns2:buscaEventosResponse xmlns:ns2="http://resource.webservice.correios.com.br/"> 
     <return> 
     <versao>2.0</versao> 
     <qtd>1</qtd> 
     <objeto> 
      <numero>JS331400752BR</numero> 
      <sigla>JS</sigla> 
      <nome>REGISTRADO LÓGICO</nome> 
      <categoria>REGISTRADO LÓGICO</categoria> 
      <evento> 
      <tipo>LDI</tipo> 
      <status>01</status> 
      <data>01/07/2016</data> 
      <hora>17:08</hora> 
      <descricao>Objeto aguardando retirada no endereço indicado</descricao> 
      <detalhe>Para retirá-lo, é preciso informar o código do objeto.</detalhe> 
      <local>AGF JOAO PAULINO</local> 
      <codigo>37130976</codigo> 
      <cidade>Alfenas</cidade> 
      <uf>MG</uf> 
      <endereco> 
       <codigo>290998</codigo> 
       <cep>37130000</cep> 
       <logradouro>R PEDRO SILVEIRA, 65</logradouro> 
       <localidade>Alfenas</localidade> 
       <uf>MG</uf> 
       <bairro>Centro</bairro> 
      </endereco> 
      </evento> 
      <evento> 
      <tipo>BDI</tipo> 
      <status>04</status> 
      <data>22/06/2016</data> 
      <hora>10:52</hora> 
      <descricao>A entrega não pode ser efetuada - Cliente recusou-se a receber</descricao> 
      <detalhe>Objeto será devolvido ao remetente</detalhe> 
      <recebedor> 
      </recebedor> 
      <documento> 
      </documento> 
      <comentario>?</comentario> 
      <local>AC ULIANOPOLIS</local> 
      <codigo>68632970</codigo> 
      <cidade>Ulianopolis</cidade> 
      <uf>PA</uf> 
      </evento> 
      <tipo>PO</tipo> 
      <status>01</status> 
      <data>03/06/2016</data> 
      <hora>16:56</hora> 
      <descricao>Objeto postado</descricao> 
      <local>AGF AFRANIO RODRIGUES</local> 
      <codigo>38400991</codigo> 
      <cidade>Uberlandia</cidade> 
      <uf>MG</uf> 
      </evento> 
     </objeto> 
     </return> 
    </ns2:buscaEventosResponse> 
    </soapenv:Body> 
</soapenv:Envelope> 

ответ

1

Это должно работать:

//*[local-name()='evento']

Как это работает, xpath ищет все узлы с именем «evento» рекурсивно, но в то же время остается агностиком пространства имен.

+1

Хотя этот код может помочь решить проблему, предоставив дополнительный контекст относительно _why_ и/или _how_ ответа , вопрос значительно улучшит его долгосрочное значение . Пожалуйста, отредактируйте свой ответ, чтобы добавить какое-то объяснение. –

Смежные вопросы