我有以下XML,并使用水壶勺子获取XML数据来提取:
<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!)。
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|请帮忙,怎样才能得到正确的经理姓名?
------------------------
|#|Mname|Sname|PhoneNo |
|-+-----+-----+--------|
|1|John |Apple|11111111|
|2|John |Becky|22222222|
|3|Peter|Cathy|33333333|
|4|Peter|Doris|44444444|
------------------------发布于 2013-09-11 06:34:19
我对水壶或勺子一无所知,但是如果你在“从属”(所以从属是一个实际的上下文)中循环,你应该使用以下xpath:
Mname:parent::Manager/@mname
名称:@sname
PhoneNo:PhoneNo
https://stackoverflow.com/questions/18732311
复制相似问题