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

簡單介紹使用Python解析并修改XML文檔的方法

 更新時(shí)間:2015年10月15日 16:04:41   投稿:goldensun  
這篇文章主要介紹了使用Python解析并修改XML文檔的方法,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

問題
你想讀取一個(gè)XML文檔,對(duì)它最一些修改,然后將結(jié)果寫回XML文檔。


解決方案

使用 xml.etree.ElementTree 模塊可以很容易的處理這些任務(wù)。 第一步是以通常的方式來解析這個(gè)文檔。例如,假設(shè)你有一個(gè)名為 pred.xml 的文檔,類似下面這樣:

下面是一個(gè)利用 ElementTree 來讀取這個(gè)文檔并對(duì)它做一些修改的例子:

>>> from xml.etree.ElementTree import parse, Element
>>> doc = parse('pred.xml')
>>> root = doc.getroot()
>>> root
<Element 'stop' at 0x100770cb0>

>>> # Remove a few elements
>>> root.remove(root.find('sri'))
>>> root.remove(root.find('cr'))
>>> # Insert a new element after <nm>...</nm>
>>> root.getchildren().index(root.find('nm'))
1
>>> e = Element('spam')
>>> e.text = 'This is a test'
>>> root.insert(2, e)

>>> # Write back to a file
>>> doc.write('newpred.xml', xml_declaration=True)
>>>

處理結(jié)果是一個(gè)像下面這樣新的XML文件:


討論
修改一個(gè)XML文檔結(jié)構(gòu)是很容易的,但是你必須牢記的是所有的修改都是針對(duì)父節(jié)點(diǎn)元素, 將它作為一個(gè)列表來處理。例如,如果你刪除某個(gè)元素,通過調(diào)用父節(jié)點(diǎn)的 remove() 方法從它的直接父節(jié)點(diǎn)中刪除。 如果你插入或增加新的元素,你同樣使用父節(jié)點(diǎn)元素的 insert() 和 append() 方法。 還能對(duì)元素使用索引和切片操作,比如 element[i] 或 element[i:j]

如果你需要?jiǎng)?chuàng)建新的元素,可以使用本節(jié)方案中演示的 Element 類。我們?cè)?.5小節(jié)已經(jīng)詳細(xì)討論過了。

相關(guān)文章

  • 安裝Python后IDA中找不到Python模塊的問題解決

    安裝Python后IDA中找不到Python模塊的問題解決

    有天在一臺(tái)新PC上安裝完IDA和Python之后,啟動(dòng)IDA報(bào)找不到Python模塊的問題,本文就詳細(xì)的介紹一下解決方法,感興趣的可以了解一下
    2021-10-10
  • Pyramid Mako模板引入helper對(duì)象的步驟方法

    Pyramid Mako模板引入helper對(duì)象的步驟方法

    ylons中的mako模板,默認(rèn)會(huì)引入一個(gè)helper對(duì)象,我們可以在里面擴(kuò)展方法,應(yīng)對(duì)在模板輸出時(shí)候會(huì)常用的操作,那么在Pyramid中如何默認(rèn)引入同樣的輔助類到模板中
    2013-11-11
  • Python解析nginx日志文件

    Python解析nginx日志文件

    Web服務(wù)器的各種系統(tǒng)管理工作包括了多Nginx/Apache 日志的統(tǒng)計(jì),python使這個(gè)任務(wù)變得極其簡單,下面我們來詳細(xì)講解下具體的做法,有需要的小伙伴可以參考下。
    2015-05-05
  • 詳解Python logging調(diào)用Logger.info方法的處理過程

    詳解Python logging調(diào)用Logger.info方法的處理過程

    這篇文章主要介紹了詳解Python logging調(diào)用Logger.info方法的處理過程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-02-02
  • Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關(guān)信息的方法

    Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關(guān)信息的方法

    這篇文章主要介紹了Python爬取智聯(lián)招聘數(shù)據(jù)分析師崗位相關(guān)信息的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python urlopen 使用小示例

    Python urlopen 使用小示例

    打開一個(gè)網(wǎng)頁獲取所有的內(nèi)容、獲取Http頭、使用代理等小結(jié)
    2008-09-09
  • python在非root權(quán)限下的安裝方法

    python在非root權(quán)限下的安裝方法

    下面小編就為大家分享一篇python在非root權(quán)限下的安裝方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • Python實(shí)現(xiàn)對(duì)特定列表進(jìn)行從小到大排序操作示例

    Python實(shí)現(xiàn)對(duì)特定列表進(jìn)行從小到大排序操作示例

    這篇文章主要介紹了Python實(shí)現(xiàn)對(duì)特定列表進(jìn)行從小到大排序操作,涉及Python文件讀取、計(jì)算、正則匹配、排序等相關(guān)操作技巧,需要的朋友可以參考下
    2019-02-02
  • 用pandas劃分?jǐn)?shù)據(jù)集實(shí)現(xiàn)訓(xùn)練集和測(cè)試集

    用pandas劃分?jǐn)?shù)據(jù)集實(shí)現(xiàn)訓(xùn)練集和測(cè)試集

    這篇文章主要介紹了用pandas劃分?jǐn)?shù)據(jù)集實(shí)現(xiàn)訓(xùn)練集和測(cè)試集,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • pandas is in和not in的使用說明

    pandas is in和not in的使用說明

    這篇文章主要介紹了pandas is in和not in的使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03

最新評(píng)論