python读取xml

#readXML.py

# 代码来源http://www.runoob.com/python3/python3-xml-processing.html

import xml.sax

class MovieHandler(xml.sax.ContentHandler):
    def __init__(self):
        self.type = ""
        self.format = ""
        self.year = ""
        self.rating = ""
        self.stars = ""
        self.description = ""

    def startElement(self, tag, attributes):
        self.ReadData = tag
        if tag == "movie":
            print("=====Movie=====")
            title = attributes["title"]
            print("Title: ", title)

    def endElement(self, tag):
        if self.ReadData == "type":
            print("Type: ", self.type)
        elif self.ReadData == "format":
            print("Format: ",self.format)
        elif self.ReadData == "year":
            print("Year: ", self.year)
        elif self.ReadData == "rating":
            print("Rating: ", self.rating)
        elif self.ReadData == "stars":
            print("Stars: ", self.stars)
        elif self.ReadData == "description":
            print("Description: ", self.description)

        self.ReadData = ""

    def characters(self, Data):
        if self.ReadData == "type":
            self.type = Data
        elif self.ReadData == "format":
            self.format = Data
        elif self.ReadData == "year":
            self.year = Data
        elif self.ReadData == "rating":
            self.rating = Data
        elif self.ReadData == "stars":
            self.stars = Data
        elif self.ReadData == "description":
            self.description = Data
if (__name__ == "__main__"):
        parser = xml.sax.make_parser()
        parser.setFeature(xml.sax.handler.feature_namespaces,0)
        Handler = MovieHandler()
        parser.setContentHandler(Handler)
        parser.parse("movies.xml")
# movies.xml 

<collection shelf="New Arrivals">
<movie title="Enemy Behind">
   <type>War, Thriller</type>
   <format>DVD</format>
   <year>2003</year>
   <rating>PG</rating>
   <stars>10</stars>
   <description>Talk about a US-Japan war</description>
</movie>
<movie title="Transformers">
   <type>Anime, Science Fiction</type>
   <format>DVD</format>
   <year>1989</year>
   <rating>R</rating>
   <stars>8</stars>
   <description>A schientific fiction</description>
</movie>
   <movie title="Trigun">
   <type>Anime, Action</type>
   <format>DVD</format>
   <episodes>4</episodes>
   <rating>PG</rating>
   <stars>10</stars>
   <description>Vash the Stampede!</description>
</movie>
<movie title="Ishtar">
   <type>Comedy</type>
   <format>VHS</format>
   <rating>PG</rating>
   <stars>2</stars>
   <description>Viewable boredom</description>
</movie>
</collection>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值