#!/usr/bin/python
# -*- coding: UTF-8 -*-
from xml.dom.minidom import parse
import xml.dom.minidom
# 使用minidom解析器打开 XML 文档
DOMTree = xml.dom.minidom.parse("movies.xml")
collection = DOMTree.documentElement
if collection.hasAttribute("shelf"):
print("Root element : %s" % collection.getAttribute("shelf"))
# 在集合中获取所有电影
movies = collection.getElementsByTagName("movie")
# 打印每部电影的详细信息
for movie in movies:
print("*****Movie*****")
if movie.hasAttribute("title"):
print("Title: %s" % movie.getAttribute("title"))
print(movie.getElementsByTagName('type'))
type = movie.getElementsByTagName('type')[0]
print(type.childNodes[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)
3、结论:
C:\Users\Thinkpad\AppData\Local\Programs\Python\Python39\python.exe C:/Users/Thinkpad/Desktop/解析xml文件/解析.py
Root element : New Arrivals
*****Movie*****
Title: Enemy Behind
[<DOM Element: type at 0x207d8ef73a0>, <DOM Element: type at 0x207d8ef7430>]
<DOM Text node "'War, Thril'...">
Type: War, Thriller
Format: DVD
Rating: PG
Description: Talk about a US-Japan war
*****Movie*****
Title: Transformers
[<DOM Element: type at 0x207d8ef7820>]
<DOM Text node "'Anime, Sci'...">
Type: Anime, Science Fiction
Format: DVD
Rating: R
Description: A schientific fiction
*****Movie*****
Title: Trigun
[<DOM Element: type at 0x207d8ef7c10>]
<DOM Text node "'Anime, Act'...">
Type: Anime, Action
Format: DVD
Rating: PG
Description: Vash the Stampede!
*****Movie*****
Title: Ishtar
[<DOM Element: type at 0x207d8eff040>]
<DOM Text node "'Comedy'">
Type: Comedy
Format: VHS
Rating: PG
Description: Viewable boredom
Process finished with exit code 0