国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

使用python解析xml成對應的html示例分享

2020-02-23 05:15:31
字體:
來源:轉載
供稿:網友

SAX將dd.xml解析成html。當然啦,如果得到了xml對應的xsl文件可以直接用libxml2將其轉換成html。

代碼如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#---------------------------------------
#   程序:XML解析器
#   版本:01.0
#   作者:mupeng
#   日期:2013-12-18
#   語言:Python 2.7
#   功能:將xml解析成對應的html
#   注解:該程序用xml.sax模塊的parse函數解析XML,并生成事件
#   繼承ContentHandler并重寫其事件處理函數
#   Dispatcher主要用于相應標簽的起始、結束事件的派發
#---------------------------------------
from xml.sax.handler import ContentHandler
from xml.sax import parse

class Dispatcher:
    def dispatch(self, prefix, name, attrs=None):
        mname = prefix + name.capitalize()
        dname = 'default' + prefix.capitalize()
        method = getattr(self, mname, None)
        if callable(method): args = ()
        else:
            method = getattr(self, dname, None)
            #args = name
        #if prefix == 'start': args += attrs
        if callable(method): method()

    def startElement(self, name, attrs):
        self.dispatch('start', name, attrs)

    def endElement(self, name):
        self.dispatch('end', name)

class Website(Dispatcher, ContentHandler):

    def __init__(self):
        self.fout = open('ddt_SAX.html', 'w')
        self.imagein = False
        self.desflag = False
        self.item = False
        self.title = ''
        self.link = ''
        self.guid = ''
        self.url = ''
        self.pubdate = ''
        self.description = ''
        self.temp = ''
        self.prx = ''
    def startChannel(self):

        self.fout.write('''<html>/n<head>/n<title> RSS-''')

    def endChannel(self):
       self.fout.write('''

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡山县| 古田县| 娄底市| 泽普县| 尼玛县| 团风县| 商南县| 盐山县| 上高县| 塔河县| 郧西县| 黄山市| 曲靖市| 浮山县| 赤峰市| 鄂伦春自治旗| 马关县| 大兴区| 同心县| 防城港市| 江永县| 浙江省| 定边县| 枣庄市| 张家口市| 华坪县| 湖口县| 彭水| 德兴市| 疏附县| 乌苏市| 马公市| 友谊县| 信丰县| 邵武市| 浦东新区| 新沂市| 宜川县| 资中县| 婺源县| 敦煌市|