首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用XPath在釜/勺子中提取正确的父属性值

用XPath在釜/勺子中提取正确的父属性值
EN

Stack Overflow用户
提问于 2013-09-11 03:43:42
回答 1查看 1.2K关注 0票数 1

我有以下XML,并使用水壶勺子获取XML数据来提取:

代码语言:javascript
复制
<Company cname="ABC">
<Staffs>
    <Manager mname="John">
        <Subordinate sname="Apple">
            <PhoneNo>11111111</PhoneNo>
        </Subordinate>
        <Subordinate sname="Becky">
            <PhoneNo>22222222</PhoneNo>
        </Subordinate>
    </Manager>
    <Manager mname="Peter">
        <Subordinate sname="Cathy">
            <PhoneNo>33333333</PhoneNo>
        </Subordinate>
        <Subordinate sname="Doris">
            <PhoneNo>44444444</PhoneNo>
        </Subordinate>
    </Manager>
</Staffs>
</Company>

如果我将/Company/Staffs/Manager/Subordinate设置为循环XPath,则会得到错误的Manager名称(所有经理都是John!)

代码语言:javascript
复制
Mname: ../../*[name()='Manager']/@*[name()='mname']
Sname: @*[name()='sname']
PhoneNo: *[name()='PhoneNo']

|#|Mname|Sname|PhoneNo |
|-+-----+-----+--------|
|1|John |Apple|11111111|
|2|John |Becky|22222222|
|3|John |Cathy|33333333|
|4|John |Doris|44444444|

请帮忙,怎样才能得到正确的经理姓名?

代码语言:javascript
复制
------------------------
|#|Mname|Sname|PhoneNo |
|-+-----+-----+--------|
|1|John |Apple|11111111|
|2|John |Becky|22222222|
|3|Peter|Cathy|33333333|
|4|Peter|Doris|44444444|
------------------------
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-11 06:34:19

我对水壶或勺子一无所知,但是如果你在“从属”(所以从属是一个实际的上下文)中循环,你应该使用以下xpath:

Mname:parent::Manager/@mname

名称:@sname

PhoneNo:PhoneNo

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

https://stackoverflow.com/questions/18732311

复制
相关文章

相似问题

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