国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

怎么使用python中ElementTree來操作XML

89542767 / 493人閱讀


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


  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根結點使用getroot()方法;


  XML示例文件:


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


  3.獲取子結點


  查找Element的所有子結點:


AArry=item.findall('a')

  也可使用getchildren():

 

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


  4.插入子結點


  方法一:


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


  方法二:


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


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


  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調用此函數,寫入的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

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

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/127813.html

相關文章

  • Python基礎之(十)模塊

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

    jlanglang 評論0 收藏0
  • Python使用xslt提取網頁數據

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

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

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

    jasperyang 評論0 收藏0
  • Python使用xslt提取網頁數據

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

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

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

    WilsonLiu95 評論0 收藏0

發表評論

0條評論

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