【问题标题】:I do not succeed in python to print the movie titles from this XML file我在 python 中没有成功从这个 XML 文件中打印电影标题
【发布时间】:2018-10-23 13:10:40
【问题描述】:

我正在尝试让 python 打印 XML 文件中的所有电影名称,但我无法弄清楚。我对 Python 还很陌生,有人能把我引向正确的方向吗?我已经让它与其他 xml 一起使用,但不适用于此 xml 文件。

我的代码:

import xml.etree.ElementTree as ET
tree = ET.parse('text.xml')
root = tree.getroot()

for elem in root:
    for movies in elem.find('decade'):
        print(movies.get('title'))

XML 文件:

<?xml version="1.0" encoding="iso-8859-1"?><filmsoptv datum="17-10-2018"><film><ft_link>https://www.filmtotaal.nl/film/5704</ft_link><titel>Gekij&amp;ocirc;-ban poketto monsut&amp;acirc; - My&amp;ucirc;ts&amp;ucirc; no gyakush&amp;ucirc;</titel><jaar>1998</jaar><regisseur>Kunihiko Yuyama:Michael Haigney</regisseur><cast>Veronica Taylor:Philip Bartlett:Rachael Lillis:Eric Stuart:Madeleine Blaustein:Ikue Ootani</cast><genre>Animatie:Actie:Avontuur:Familiefilm:Fantasy:Sci-Fi:Sport</genre><land>Japan</land><cover>https://www.filmtotaal.nl/images/covers/jf9qso31vo.jpg</cover><tagline>Witness the rarest pok&amp;Atilde;&amp;Acirc;&amp;copy;mon of all in their first movie!</tagline><duur>96</duur><synopsis>Ash, Pikachu en hun vrienden komen tegenover de machtige Mewtwo te staan.</synopsis><ft_rating>4.9</ft_rating><ft_votes>7</ft_votes><imdb_id>0190641</imdb_id><imdb_rating>6</imdb_rating><imdb_votes>32090</imdb_votes><starttijd>1539765780</starttijd><eindtijd>1539771120</eindtijd><zender>RTL7</zender><filmtip>1</filmtip></film><film><ft_link>https://www.filmtotaal.nl/film/18912</ft_link><titel>Foeksia de miniheks</titel><jaar>2010</jaar><regisseur>Johan Nijenhuis</regisseur><cast>Rachelle Verdel:Porgy Franssen:Annet Malherbe:Marcel Hensema:Lorenso van Sligtenhorst:Kara Borus</cast><genre>Familiefilm</genre><land>Nederland</land><cover>https://www.filmtotaal.nl/images/covers/l0doh3ptzc.jpg</cover><tagline></tagline><duur>95</duur><synopsis>Foeksia is een miniheksje.</synopsis><ft_rating>5.3</ft_rating><ft_votes>6</ft_votes><imdb_id>1382720</imdb_id><imdb_rating>5.6</imdb_rating><imdb_votes>194</imdb_votes><starttijd>1539770400</starttijd><eindtijd>1539775500</eindtijd><zender>NPO3</zender><filmtip>1</filmtip></film>

【问题讨论】:

  • “电影”这个词是荷兰语的电影
  • xml 文件必须以相同的实体开头和结尾。在您的情况下,它以标签“filmsoptv”开头并以“film”结尾。看这里w3schools.com/xml

标签: python xml printf elementtree


【解决方案1】:

首先你必须修复你的xml,就像在cmets中提到的andmart。 (标签fimsoptv需要关闭)

您的循环中的每个elem 都指的是您可以访问其中的一部电影(或&lt;film&gt; 标签),如下所示:

for elem in root:
    titel = elem.find('titel').text
    print(titel)

【讨论】:

  • 此外,提供的代码会查找一个名为“decade”的字段,该字段在提供的 XML 中不存在。不知道是不是笔误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
  • 2019-09-17
  • 1970-01-01
  • 2021-05-08
相关资源
最近更新 更多