成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

怎么使用python中ElementTree來操作XML

89542767 / 498人閱讀


  小編寫這篇文章的主要目的,就是用來給大家講解介紹一下,關(guān)于python中,使用ElementTree來操作XML,那么,具體的操作方法是什么呢?下面小編會給大家進行一個總結(jié)?


  1.引入庫


  需要用到3個類,ElementTree,Element以及建立子類的包裝類SubElement


 from xml.etree.ElementTree import ElementTree
  from xml.etree.ElementTree import Element
  from xml.etree.ElementTree import SubElement as SE


  2.讀入并解析


  tree=ElementTree(file=xmlfile)
  root=tree.getroot()


  讀入后,tree是ElementTree的類型,獲取xml根結(jié)點使用getroot()方法;


  XML示例文件:


 <item sid='1712'name='大CC'>
  <a id=1></a>
  <a id=2></a>
  </item>


  3.獲取子結(jié)點


  查找Element的所有子結(jié)點:


AArry=item.findall('a')

  也可使用getchildren():

 

 childs=item.getchildren()
  for subItem in childs:
  print subItem.get('id')


  4.插入子結(jié)點


  方法一:


  item=Element("item",{'sid':'1713','name':'ityouhui'})
  root.append(item)


  方法二:


 SE(root,'item',{'sid':'1713','name':'ityouhui'})


  方法一的優(yōu)點,是我們在插入代碼之后,可以保持對item一個操作。方法二,其就是在寫作方面,其寫法是比較簡單的,其就是在SubElement,做了一個相關(guān)的引入聲明。


  5.操作屬性


  獲取Element的某個屬性值(eg:獲取item的name)


 print root.find('item/name').text
  print item.get('name')


  獲取Element所有屬性


 print item.items()#[('sid','1712'),('name','大CC')]
  print item.attrib#{'sid':'1712','name':'大CC'}


  6.美化XML


  在寫入之前,傳入root調(diào)用此函數(shù),寫入的XML文件格式整齊美觀:


 indent(root)
  book.write(xmlfile,'utf-8')
  ##Get pretty look
  def indent(elem,level=0):
  i="n"+level*""
  if len(elem):
  if not elem.text or not elem.text.strip():
  elem.text=i+""
  for e in elem:
  indent(e,level+1)
  if not e.tail or not e.tail.strip():
  e.tail=i
  if level and(not elem.tail or not elem.tail.strip()):
  elem.tail=i
  return elem

  關(guān)于python中ElementTree來操作XML就為大家介紹到這里了,希望可以給各位讀者帶來幫助。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/127813.html

相關(guān)文章

  • Python基礎(chǔ)之(十)模塊

    摘要:是回調(diào)函數(shù),當(dāng)鏈接服務(wù)器和相應(yīng)數(shù)據(jù)傳輸完畢時觸發(fā)本函數(shù)可選。僅僅是針對的,在中,已經(jīng)沒有這個模塊了,取代它的是。由于以流式讀取文件,從而速度較快,切少占用內(nèi)存,但是操作上稍復(fù)雜,需要用戶實現(xiàn)回調(diào)函數(shù)。 編寫模塊 模塊是程序 模塊就是一個擴展名為.py的Python程序。 編寫模塊 #!/usr/bin/env python # coding=utf-8 lang = python 引...

    jlanglang 評論0 收藏0
  • Python使用xslt提取網(wǎng)頁數(shù)據(jù)

    摘要:,用庫實現(xiàn)網(wǎng)頁內(nèi)容提取是的一個庫,可以迅速靈活地處理。,集搜客開源代碼下載源開源網(wǎng)絡(luò)爬蟲源,文檔修改歷史,增補文字說明把跟帖的代碼補充了進來,增加最后一章源代碼下載源 showImg(https://segmentfault.com/img/bVvBTt); 1,引言 在Python網(wǎng)絡(luò)爬蟲內(nèi)容提取器一文我們詳細講解了核心部件:可插拔的內(nèi)容提取器類gsExtractor。本文記錄了確定...

    mdluo 評論0 收藏0
  • Pythonic “Data Science” Specialization

    摘要:溫習(xí)統(tǒng)計學(xué)的知識為更深層次的學(xué)習(xí)做準備在的演講中說就是我們理解但不知道另外的是如何的我在臺下想對于那可以理解的我好像都只懂了參考標準高效的流程課程用的是我不想再學(xué)一門類似的語言了我會找出相對應(yīng)的和的來源流程什么是干凈的一個變 Why The Data Science Specialization 溫習(xí)統(tǒng)計學(xué)的知識, 為更深層次的學(xué)習(xí)做準備 Andrew Ng 在 2015 GTC ...

    jasperyang 評論0 收藏0
  • Python使用xslt提取網(wǎng)頁數(shù)據(jù)

    摘要:在網(wǎng)絡(luò)爬蟲內(nèi)容提取器一文我們詳細了解了核心部件可插拔的內(nèi)容提取器。這是第一部分,實驗了方式一次性提取靜態(tài)網(wǎng)頁內(nèi)容并轉(zhuǎn)換成格式。 在python網(wǎng)絡(luò)爬蟲內(nèi)容提取器一文我們詳細了解了核心部件:可插拔的內(nèi)容提取器gsExtractor。本文記錄了確定gsExtractor的技術(shù)路線過程中所做的編程實驗。這是第一部分,實驗了xslt方式一次性提取靜態(tài)網(wǎng)頁內(nèi)容并轉(zhuǎn)換成xml格式。用lxml庫實現(xiàn)...

    Jensen 評論0 收藏0
  • Python 爬取高校歷年分數(shù)線

    摘要:最近一周一直在幫家里小弟看高考志愿,所以更新的沒那么頻繁了,請大家見諒。在看各高校的往年分數(shù)時,忍不住手癢,想著能不能給它爬下來哈哈,說干就干流程分析之前無意中在這個網(wǎng)站發(fā)現(xiàn)有各個高校的歷年錄取分數(shù)線。 最近一周一直在幫家里小弟看高考志愿,所以更新的沒那么頻繁了,請大家見諒。 在看各高校的往年分數(shù)時,忍不住手癢,想著能不能給它爬下來?哈哈,說干就干! 1 流程分析 之前無意中在這個網(wǎng)站...

    WilsonLiu95 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<