множественный или подстановочный корневой элемент xpath - PullRequest
0 голосов
/ 20 марта 2019

Я застрял, пытаясь получить несколько XML с XPath.

Два XML-файла и XPath выглядят так:

<?xml version="1.0" encoding="UTF-8"?>
<bq:ProcessB xmlns:bq="http://www.w3.com/xxml/1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:oa="http://www.openapplications.org/oagis/9" languageCode="en-US">
  <oa:ApplicationArea xmlns:IOutput="com.wm.pkg.xslt.extension.IOutputMap">
      <oa:Sender>
         <oa:ID>A12345</oa:ID>
         <oa:File>testing1.xml</oa:File>
         <oa:ComID>BALON</oa:ComID>
         <oa:RefID>1123</oa:RefID>
      </oa:Sender>
      <oa:MUSIC>TEST-0000-000-0000</oa:MUSIC>
   </oa:ApplicationArea>
</bq:ProcessB>

XPath:

record.bq.music = /bq:ProcessB/oa:ApplicationArea/oa:MUSIC
record.bq.fields.ID = /bq:ProcessB/oa:ApplicationArea/oa:Sender/oa:ID

Ивторой XML и XPath:

<?xml version="1.0" encoding="UTF-8"?>
<bq:ProcessA xmlns:bq="http://www.w3.com/xxml/1" xmlns:oa="http://www.openapplications.org/oagis/9">
   <bq:ProcessB languageCode="en-US" systemEnvironmentCode="QAS" releaseID="6.20">
      <oa:ApplicationArea>
         <oa:Sender>
            <oa:ID>A12345</oa:ID>
            <oa:File>testing1.xml</oa:File>
            <oa:ComID>BALON</oa:ComID>
            <oa:RefID>1123</oa:RefID>
         </oa:Sender>
         <oa:MUSIC>TEST-0000-000-0000</oa:MUSIC>
      </oa:ApplicationArea>
   </bq:ProcessB>
</bq:ProcessA>

XPath:

record.bq.music = /bq:ProcessA/bq:ProcessB/oa:ApplicationArea/oa:MUSIC
record.bq.fields.ID = /bq:ProcessA/bq:ProcessB/oa:ApplicationArea/oa:Sender/oa:ID

Я пробовал эти шаблоны, но один работает или другой.Я не могу заставить оба xml работать с одним выражением xpath вместо двух.

*
//
axes - ancestor-or-self

1 Ответ

1 голос
/ 20 марта 2019

Два выражения XPath

//oa:ApplicationArea/oa:MUSIC

и

//oa:ApplicationArea/oa:Sender/oa:ID

работает с обоими XML-документами, если задан префикс NS bq.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...