首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XPath:如何在<ITERATION>下面选择<FIELD>元素

XPath:如何在<ITERATION>下面选择<FIELD>元素
EN

Stack Overflow用户
提问于 2017-07-21 10:05:15
回答 3查看 465关注 0票数 0

我有一个XML文档:

代码语言:javascript
复制
<TX value="com.igsapp.wibc.host.TxInfo">
<FORMAT>
    <RECORD id="RqHeader">
        <ITERATION id="Header" times="1">
            <FIELD id="Id"/>
            <FIELD id="CAppSeq"/>
            <FIELD id="CAGrpSeq"/>
            <ITERATION id="Status" times="1">
                <FIELD id="System"/>
                <FIELD id="SCode"/>
            </ITERATION>
            <ITERATION id="aaa" times="1">
                <FIELD id="bbb"/>
                <FIELD id="Sccc"/>
            </ITERATION>
        </ITERATION>
   </RECORD>
 </FORMATE>
 </TX>

我想找到RECORD中的每个ID为RqHeaderRqHeader。我试过了

代码语言:javascript
复制
/TX/FORMAT/RECORD[@id='RqHeader']/ITERATION/FIELD

但这只会直接返回RECORD中的三个RECORD元素,而不是ITERATION中的元素。我如何获得所有字段?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-21 12:37:17

请求:--我想找到记录中的每个字段,ID为RqHeader。

答案:

代码语言:javascript
复制
//RECORD[@id='RqHeader']//FIELD

或者,如果您希望将根层保持在路径中:

代码语言:javascript
复制
/TX/FORMAT/RECORD[@id='RqHeader']//FIELD
票数 0
EN

Stack Overflow用户

发布于 2017-07-21 10:41:22

使用//运算符可以跨嵌套级别选择节点。

代码语言:javascript
复制
/TX/FORMAT/RECORD[@id='RqHeader']//ITERATION/FIELD

//实际上不是一个运算符,它是简略语法 for /descendant-or-self::node()/

票数 1
EN

Stack Overflow用户

发布于 2017-07-24 05:49:12

我尝试了下面的表达式,它有效。

代码语言:javascript
复制
/TX/FORMAT/RECORD[@id='RqHeader']//ITERATION/FIELD
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45234856

复制
相关文章

相似问题

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