国产探花免费观看_亚洲丰满少妇自慰呻吟_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('''

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江都市| 普格县| 林州市| 合川市| 敦化市| 民权县| 平定县| 天全县| 彰化县| 河池市| 济阳县| 宜春市| 大名县| 盐亭县| 石景山区| 察雅县| 米易县| 石狮市| 赤峰市| 泰州市| 牡丹江市| 晋宁县| 东阳市| 莱西市| 肥东县| 惠东县| 峨眉山市| 海原县| 永和县| 黑河市| 庆阳市| 龙胜| 林西县| 新泰市| 微山县| 合水县| 万源市| 乳山市| 特克斯县| 泽州县| 襄樊市|