Python ElementTree XML 解析与多个答案

标签 python xml-parsing elementtree

我正在解析“我的电影 5”生成的 movie.xml 文件以获取电影的类型。有些电影有多种类型,例如:

-<Genres>
<Genre>Adventure</Genre>
<Genre>Comedy</Genre>
<Genre>Action</Genre>
...
...
</Genres>

如何将其读取为单个变量 流派 = 流派 1、流派 2、流派 3 ...

这就是我正在做的事情,它只给了我第一个类型:

import xml.etree.ElementTree as ET
tree = ET.parse('movie.xml')
root = tree.getroot()
Genre = tree.findtext("Genres/Genre")

缩短后的movie.xml如下:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!--This file is created by My Movies (http://www.mymovies.dk)-->
<Title IsBoxSetParent="False" IsBoxSetChild="False">
  <ID>649</ID>
  <MediaType>Movie</MediaType>
  <LocalTitle>Six Days, Seven Nights</LocalTitle>
  <ProductionYear>1998</ProductionYear>
  <ReleaseDate>12/8/1998</ReleaseDate>
  <RunningTime>101</RunningTime>
  <TagLine />
  <Genres>
    <Genre>Adventure</Genre>
    <Genre>Comedy</Genre>
    <Genre>Action</Genre>
    <Genre>Romance</Genre>
  </Genres>
  <AudioTracks>
    <AudioTrack Language="English" Type="Dolby Digital" Channels="5.1" />
    <AudioTrack Language="French" Type="Dolby Digital" Channels="5.1" />
  </AudioTracks>
  <CheckSum>f98f43ba468b519bb7e78c15b7ab9cfa</CheckSum>
</Title>

最佳答案

谢谢,这比我想出的其他方式更优雅。

genre=""
for element in root.iter("Genre"):
        genre = genre + ", " + ("%s" % (element.text))
print genre

产生相同的结果: 冒险、喜剧、 Action 、浪漫

关于Python ElementTree XML 解析与多个答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28385823/

相关文章:

python - xml:从 iterparse 元素获取父属性

objective-c - Objective-C - 创建文本文件以在 Cocoa 中逐行读写

Python 请求不响应正确的 html

python - 展平混合类型的列表

python - 如何用python中DataFrame列的模式替换NA值?

java - 使用 Java XPath 查询解析 XML,错误 :

xml - 属性错误 : type object 'ElementTree' has no attribute 'tostring'

python - 使用 etree 从 xml 标签解析 namespace

python - Python 中的 Xpath 。获取语​​法错误 ("invalid predicate")

python - Django:调试条目消失了