我有一个与此类似的 XML 文件。我想根据它的标签选择一个子节点
<list>
<age>
<John>18</John>
<Tom>22</Tom>
<Samer>19</Samer>
<Mark>21</Mark>
</age>
</list>
有没有办法从“年龄节点”开始选择“汤姆节点”?
我尝试了类似ageNode.xpath("/Tom")
的方法,但它不起作用。 ageNode.getchildren()[1]
有效,但每次的顺序都不一样。 所以我只能依赖标签而不是订单。
我正在使用 python 2.7 和 lxml 包。
最佳答案
XPath 开头的
/
总是引用根节点。要执行相对 XPath,您需要添加 .
或完全删除 /
,如评论中所述:
ageNode.xpath("./Tom")
ageNode.xpath("Tom")
关于python - 使用 XPath 或 lxml 根据标签选择特定的子节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37202182/