假设我有一个XML文件-
<Cars>
<Year> 2021 </Year>
<Model>
<Name> Porsche 911 </Name>
<Year> 2020 </Year>
</Model>
<Model>
<Name> Porsche 911 </Name>
<Year> 2019 </Year>
</Model>
<Model>
<Name> Porsche Cayenne </Name>
<Year> 2019 </Year>
</Model>
</Cars>
现在我想提取2021年2021,它不是该特定模型的年份,而是编写该XML的日期(它是外部的(
但要做到这一点。。由于路径没有被硬编码的限制,我使用了//Year//text()
,但它给出的输出是[2021,2020,2019,2019]
。我不希望这样,因为如果顺序改变,索引也会改变,这会产生问题。
请帮助使用XPath命令,在该命令中,我可以排除内部Year标记,而只使用外部标记。
试试这个,只获得外层年份的
//Year[not(preceding-sibling::Name)]/text()
如果所需的Year
节点总是Cars
的直接子节点,则
//Cars/Year/text()
也应该正常