2

[注記: 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]などです。

4

1 に答える 1

1

代わりにタグをループしたいのですが、子を持つ/movies/a_movieものだけです:studio

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>"

要素の子要素を XML として出力したい場合は、a_movie要素をループして (子要素をループして)、ElementTree.tostring()それぞれで次のように使用します。

for a_movie in root.xpath('/movies/a_movie'):
    for elem in a_movie:
        print ElementTree.tostring(elem),
于 2013-03-28T11:22:26.067 に答える