1
我有下面的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>
如果我設置環的XPath爲/公司/職員/經理/下屬,我得到了不正確的經理姓名(所有經理都是約翰!)。
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|
------------------------
感謝您的建議。它的工作原理是將**替換爲** parent :: * [name()='Manager']/@ * [name()='mname'] ** – Snakeking
確實,您只需要一個../:../Manager/@ * [name()='mname']應該可以工作。 – laurent