Xml 在壶穴/勺子中通过XPath提取正确的父属性值
我有以下XML,并使用壶勺获取XML数据来提取:Xml 在壶穴/勺子中通过XPath提取正确的父属性值,xml,xpath,kettle,spoon,Xml,Xpath,Kettle,Spoon,我有以下XML,并使用壶勺获取XML数据来提取: <Company cname="ABC"> <Staffs> <Manager mname="John"> <Subordinate sname="Apple"> <PhoneNo>11111111</PhoneNo> </Subordinate> <Subordinate sn
<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>
请帮助,如何获得正确的经理姓名
------------------------
|#|Mname|Sname|PhoneNo |
|-+-----+-----+--------|
|1|John |Apple|11111111|
|2|John |Becky|22222222|
|3|Peter|Cathy|33333333|
|4|Peter|Doris|44444444|
------------------------
我对水壶或勺子一无所知,但我认为,如果你循环使用“从属”(因此从属是一个实际的上下文),你应该使用以下XPath: Mname:
parent::Manager/@Mname
Sname:@Sname
PhoneNo:
PhoneNo
我不知道关于水壶或勺子的任何事情,但我认为如果你循环使用“从属”(因此从属是一个实际上下文),你应该使用以下XPath:
Mname:parent::Manager/@Mname
Sname:@Sname
电话号码:
PhoneNo
谢谢您的建议。它的工作原理是将Mname替换为父项::*[name()='Manager']/*[name()='Mname']实际上,您只需要一个../:../Manager/*[name()='Mname']就可以了。谢谢您的建议。它的工作原理是将Mname替换为父项::*[name()='Manager']/@*[name()='Mname']实际上,您只需要一个../:../Manager/@*[name()='Mname']就可以了。
------------------------
|#|Mname|Sname|PhoneNo |
|-+-----+-----+--------|
|1|John |Apple|11111111|
|2|John |Becky|22222222|
|3|Peter|Cathy|33333333|
|4|Peter|Doris|44444444|
------------------------