首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >xpath多个或通配符根元素

xpath多个或通配符根元素
EN

Stack Overflow用户
提问于 2019-03-20 18:25:07
回答 1查看 162关注 0票数 0

我在尝试用XPaths获取多个XML时遇到了困难。

两个XML文件和XPaths如下所示:

代码语言:javascript
复制
<?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:

代码语言:javascript
复制
record.bq.music = /bq:ProcessB/oa:ApplicationArea/oa:MUSIC
record.bq.fields.ID = /bq:ProcessB/oa:ApplicationArea/oa:Sender/oa:ID

第二个XML和XPath:

代码语言:javascript
复制
<?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:

代码语言:javascript
复制
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表达式而不是两个。

代码语言:javascript
复制
*
//
axes - ancestor-or-self
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-20 18:56:53

两个XPath表达式

代码语言:javascript
复制
//oa:ApplicationArea/oa:MUSIC

代码语言:javascript
复制
//oa:ApplicationArea/oa:Sender/oa:ID

在定义了NS前缀bq的情况下,处理这两个XML文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55258486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档