1
I 추출하기 위해 XML 데이터을 가져 다음 XML 사용 주전자 숟가락했습니다 : 나는 로 루프의 XPath을 설정하면추출 올바른 부모의 속성 값
<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>
를/회사/직원/관리자/부하, 잘못된 관리자 이름 (모든 관리자는 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|
------------------------
감사합니다. 그것은 Mname을 ** parent :: * [name() = 'Manager']/@ * [name() = 'mname']으로 바꿈으로써 작동합니다 ** – Snakeking
실제로는 ../ : ../Manager 만 필요합니다./@ * [name() = 'mname']이 작동해야합니다. – laurent