亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

  • <tt id="fuxbt"></tt>

          1. 利用python將xml文件解析成html文件的實現(xiàn)方法

             更新時間:2017年12月22日 15:39:23   作者:丟你劉某  
            下面小編就為大家分享一篇利用python將xml文件解析成html文件的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

            功能就是題目所述,我的python2.7,裝在windows環(huán)境,我使用的開發(fā)工具是wingide 6.0

            1、首先是我設(shè)計的簡單的一個xml文件,也就是用來解析的源文件

            下面是這個文件website.xml內(nèi)容:

            <website>
            <page name="index" title="fuckyou">
            	<h1>welcome to</h1>
            	<p>this is a moment</p>
            <ul>
            <li><a href="shouting.html" rel="external nofollow" >Shouting</a></li>
            </ul>
            </page>
            <page name="shouting" title="mother">
            <h1>My name is likeyou</h1>
            </page>
            </website>

            解釋:page就是對應(yīng)一個html文件,這里有兩個page也就是要解析成兩個html文件,然后分別是index.html和shouting.html,其中在index.html中通過<a>鏈接轉(zhuǎn)到shouting.html文件中顯示shouting.html文件的內(nèi)容

            2、python代碼實現(xiàn)解析(xmltest.py)

            #!D:\Python27\python.exe
            #-*- coding:utf-8 -*-
            from xml.sax import parse
            from xml.sax.handler import ContentHandler
            class PageCreate(ContentHandler):
             pagethrough = False
             def startElement(self, name, attrs):
              if name == 'page':
               self.pagethrough = True
               self.out = open(attrs['name'] + '.html', 'w')
               self.out.write('<html>\n<head>\n')
               self.out.write('<title>%s</title>\n' %(attrs['title']))
               self.out.write('</head>\n<body>\n')
              elif self.pagethrough:
               self.out.write('<')
               self.out.write(name)
               for str,val in attrs.items():
                self.out.write(' %s="%s"' %(str, val))
               self.out.write('>') 
               
             def endElement(self, name):
              if name == 'page':
               self.out.write('</body>\n</html>')
               self.pagethrough = False
               self.out.close()
              if self.pagethrough:
               self.out.write('<')
               self.out.write('/' + name)
               self.out.write('>')
               
             def characters(self, content):
              if self.pagethrough:
               self.out.write(content)
             
            parse('D:\\pyproject\\file\\website.xml', PageCreate())

            代碼解釋:

            使用xml.sax解析方法調(diào)用parse方法來解析,自己創(chuàng)建了一個解析類,繼承了ContentHandler,在里面分別重寫了startelement和endelement方法還有charactors方法,startelement方法是當(dāng)找到xml文件中的開頭標(biāo)簽時調(diào)用,如<a>、<h1>,passthrough變量是為了判斷當(dāng)前是否在page標(biāo)簽里面,true表示在page標(biāo)簽里面,就是屬于當(dāng)前page頁面的元素,因為xml.sax是關(guān)注標(biāo)簽的,他不會管你是否在當(dāng)前哪個page里面,然后后面的代碼都容易理解,就是添加html的開頭標(biāo)簽<html><head><body>等,注意,attrs儲存的是標(biāo)簽的屬性,例如<page>里面name="shouting",name="index",那么就attrs就儲存這name="shouting"這個東西,從而在attrs里面獲取name屬性里面的shouting和index作為html文件的文件名,同理<a>里面的href=……也是通過這個數(shù)據(jù)獲取,分別存在str和val變量中,并且通過write寫進文件。

            然后endelement就是當(dāng)解析到</h1>這類的結(jié)尾標(biāo)簽的時候調(diào)用,添加結(jié)尾的標(biāo)簽,如果是文件結(jié)尾,那么就是</page>,這時候就把</html>、</body>這些html的結(jié)尾標(biāo)簽添加進去,否則,就是page頁面里面的元素結(jié)尾標(biāo)簽

            characters就是將開頭標(biāo)簽于結(jié)尾標(biāo)簽之間找到的字符串添加進去

            最后我們把python代碼運行起來之后就可以看到在同一目錄下生成了兩個html文件,分別是shouting.html和index.html,打開index.html就可以看到一個叫做“shouting”的鏈接,點過去就打開了shouting.html

            以上這篇利用python將xml文件解析成html文件的實現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

            相關(guān)文章

            • 解決tensorflow添加ptb庫的問題

              解決tensorflow添加ptb庫的問題

              今天小編就為大家分享一篇解決tensorflow添加ptb庫的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
              2020-02-02
            • python for循環(huán)remove同一個list過程解析

              python for循環(huán)remove同一個list過程解析

              這篇文章主要介紹了python for循環(huán)remove同一個list過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
              2019-08-08
            • 使用Fabric自動化部署Django項目的實現(xiàn)

              使用Fabric自動化部署Django項目的實現(xiàn)

              這篇文章主要介紹了使用Fabric自動化部署Django項目的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
              2019-09-09
            • Python圖片處理之圖片裁剪教程

              Python圖片處理之圖片裁剪教程

              這篇博文的目的是從圖片中提取一定的矩形區(qū)域作為新的圖片 簡單來說:我的全家福丟了,所以我想從以前的房間照片里,提取出其中的全家福并重新打印一張(忽視畫質(zhì)問題)現(xiàn)在我就是這么個目的,需要的朋友可以參考下
              2021-05-05
            • 單身狗福利?Python爬取某婚戀網(wǎng)征婚數(shù)據(jù)

              單身狗福利?Python爬取某婚戀網(wǎng)征婚數(shù)據(jù)

              今天我就當(dāng)回媒婆,給男性程序員來點福利.今天目標(biāo)爬取征婚網(wǎng)上呈現(xiàn)出來的女生信息保存成excel表格供大家篩選心儀的女生,需要的朋友可以參考下
              2021-06-06
            • Scrapy之爬取結(jié)果導(dǎo)出為Excel的實現(xiàn)過程

              Scrapy之爬取結(jié)果導(dǎo)出為Excel的實現(xiàn)過程

              這篇文章主要介紹了Scrapy之爬取結(jié)果導(dǎo)出為Excel的實現(xiàn)過程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
              2022-12-12
            • opencv python 對指針儀表讀數(shù)識別的兩種方式

              opencv python 對指針儀表讀數(shù)識別的兩種方式

              這篇文章主要介紹了opencv python 對指針儀表讀數(shù)識別的兩種方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
              2021-01-01
            • python3使用print打印帶顏色的字符串代碼實例

              python3使用print打印帶顏色的字符串代碼實例

              這篇文章主要介紹了python3使用print打印帶顏色的字符串代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
              2019-08-08
            • Python PyQt5實現(xiàn)拖放效果的原理詳解

              Python PyQt5實現(xiàn)拖放效果的原理詳解

              這篇文章主要為大家詳細(xì)介紹了Python PyQt5中拖放效果的實現(xiàn)原理與實現(xiàn)代碼,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
              2022-11-11
            • Python urllib.request對象案例解析

              Python urllib.request對象案例解析

              這篇文章主要介紹了Python urllib.request對象案例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
              2020-05-05

            最新評論