私はxmlファイルがあります。解析XML:複数の同じ属性
<movie title="Enemy Behind">
<type>War, Thriller</type>
<type>WW2</type>
<format>DVD</format>
<year>2003</year>
<rating>PG</rating>
<stars>10</stars>
<description>Talk about a US-Japan war</description>
</movie>
そして、私はPythonで、このXMLを解析するには、次のコードを使用しています:
Print detail of each movie.
for movie in movies:
print ("*****Movie*****")
if movie.hasAttribute("title"):
print ("Title: %s" % movie.getAttribute("title"))
type = movie.getElementsByTagName('type')[0]
print ("Type: %s" % type.childNodes[0].data)
format = movie.getElementsByTagName('format')[0]
print ("Format: %s" % format.childNodes[0].data)
rating = movie.getElementsByTagName('rating')[0]
print ("Rating: %s" % rating.childNodes[0].data)
description = movie.getElementsByTagName('description')[0]
print ("Description: %s" % description.childNodes[0].data)
しかし、これだけのコードを使用して属性の1つ、すなわち「戦争、スリラー」が印刷されます。 「WW2」という他の属性は印刷されません。
forループを使用する必要がありますか?私はそれを試して、エラーが発生する "'要素'オブジェクトは反復可能ではありません"。
これは何を示していますか?プリントタイプ(movie.getElementsByTagName( 'type')) – Bemmu