繁体   English   中英

在Python中对Xpath查询使用变量

[英]Use a variable for an Xpath query in Python

[注意,我是Python和Xpath的新手]

我想执行Xpath查询,并在表达式中使用变量来使用索引在所有元素之间循环。

例如,除了具有[1][2]等的特定位置,我希望能够在此表达式中放置一个变量i

for x in root.xpath('/movies/a_movie[i]/studio'):
    print "<studio>" + x.text + "</studio>"

我不确定这是否有可能,但我想问问也不会有伤害!

为了澄清,这就是为什么我要这样做:我正在尝试处理a_movie[1]所有元素,然后在函数的结尾,我想处理a_movie[2]所有元素,并且以此类推。

您想改为遍历/movies/a_movie标记,但仅/movies/a_movie 具有 studio/movies/a_movie标记:

for a_movie in root.xpath('/movies/a_movie[studio]'):
    name = a_movie.find('name').text
    studio = a_movie.find('studio')
    print "<studio>" + studio.text + "</studio>"

如果您只想将a_movie元素的子元素以XML格式打印出来,我将遍历该元素(遍历所有子元素),并在每个元素上使用ElementTree.tostring()

for a_movie in root.xpath('/movies/a_movie'):
    for elem in a_movie:
        print ElementTree.tostring(elem),

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM