[英]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.