91aaa在线国内观看,亚洲AV午夜福利精品一区二区,久久偷拍人视频,久久播这里有免费视播

<strong id="fvuar"></strong>

  • <sub id="fvuar"><dl id="fvuar"><em id="fvuar"></em></dl></sub>

    1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

      手機站
      千鋒教育

      千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

      千鋒教育

      掃一掃進入千鋒手機站

      領(lǐng)取全套視頻
      千鋒教育

      關(guān)注千鋒學(xué)習(xí)站小程序
      隨時隨地免費學(xué)習(xí)課程

      當前位置:首頁  >  技術(shù)干貨  > 使用python自帶的xml.dom創(chuàng)建和解析xml

      使用python自帶的xml.dom創(chuàng)建和解析xml

      來源:千鋒教育
      發(fā)布人:xqq
      時間: 2023-11-07 14:27:58 1699338478

      python中的xml.dom模塊使用的就是傳統(tǒng)的dom解析api和方法。所以也就不寫什么了,主要就是練習(xí)敲敲代碼,繼續(xù)熟悉python。本文通過xml.dom.minidom創(chuàng)建一個xml文檔,然后再解析出來,用以熟悉相關(guān)接口方法的使用。

      創(chuàng)建一個xml文檔:

      '''

      Createdon2012-1-10

      Createaxmldocument

      @author:xiaojay

      '''

      fromxml.domimportminidom

      doc=minidom.Document()

      doc.appendChild(doc.createComment("Thisisasimplexml."))

      booklist=doc.createElement("booklist")

      doc.appendChild(booklist)

      defaddBook(newbook):

      book=doc.createElement("book")

      book.setAttribute("id",newbook["id"])

      title=doc.createElement("title")

      title.appendChild(doc.createTextNode(newbook["title"]))

      book.appendChild(title)

      author=doc.createElement("author")

      name=doc.createElement("name")

      firstname=doc.createElement("firstname")

      firstname.appendChild(doc.createTextNode(newbook["firstname"]))

      lastname=doc.createElement("lastname")

      lastname.appendChild(doc.createTextNode(newbook["lastname"]))

      name.appendChild(firstname)

      name.appendChild(lastname)

      author.appendChild(name)

      book.appendChild(author)

      pubdate=doc.createElement("pubdate")

      pubdate.appendChild(doc.createTextNode(newbook["pubdate"]))

      book.appendChild(pubdate)

      booklist.appendChild(book)

      addBook({"id":"1001","title":"Anapple","firstname":"Peter","lastname":"Zhang","pubdate":"2012-1-12"})

      addBook({"id":"1002","title":"Love","firstname":"Mike","lastname":"Li","pubdate":"2012-1-10"})

      addBook({"id":"1003","title":"Steve.Jobs","firstname":"Tom","lastname":"Wang","pubdate":"2012-1-19"})

      addBook({"id":"1004","title":"HarryPotter","firstname":"Peter","lastname":"Chen","pubdate":"2012-11-11"})

      f=file("book.xml","w")

      doc.writexml(f)

      f.close()

      通過doc.toprettyxml(indent,newl,encoding)方法可以優(yōu)雅顯示xml文檔,但是要避免直接寫入文本,否則會給解析帶來麻煩,盡量使用自帶的writexml方法。

      生成的文檔內(nèi)容:

      Peter

      Zhang

      2012-1-12

      .................

      解析該xml文檔:

      '''

      Createdon2012-1-10

      Scanaxmldoc

      @author:xiaojay

      '''

      fromxml.domimportminidom,Node

      classbookscanner:

      def__init__(self,doc):

      forchildindoc.childNodes:

      ifchild.nodeType==Node.ELEMENT_NODE\

      andchild.tagName=="book":

      bookid=child.getAttribute("id")

      print"*"*20

      print"Bookid:",bookid

      self.handle_book(child)

      defhandle_book(self,node):

      forchildinnode.childNodes:

      ifchild.nodeType==Node.ELEMENT_NODE:

      ifchild.tagName=="title":

      print"Title:",self.getText(child.firstChild)

      ifchild.tagName=="author":

      self.handle_author(child)

      ifchild.tagName=="pubdate":

      print"Pubdate:",self.getText(child.firstChild)

      defgetText(self,node):

      ifnode.nodeType==Node.TEXT_NODE:

      returnnode.nodeValue

      else:return""

      defhandle_author(self,node):

      author=node.firstChild

      forchildinauthor.childNodes:

      ifchild.nodeType==Node.ELEMENT_NODE:

      ifchild.tagName=="firstname":

      print"Firstname:",self.getText(child.firstChild)

      ifchild.tagName=="lastname":

      print"Lastname:",self.getText(child.firstChild)

      doc=minidom.parse("book.xml")

      forchildindoc.childNodes:

      ifchild.nodeType==Node.COMMENT_NODE:

      print"Conment:",child.nodeValue

      ifchild.nodeType==Node.ELEMENT_NODE:

      bookscanner(child)

      以上內(nèi)容為大家介紹了使用python自帶的xml.dom創(chuàng)建和解析xml,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機構(gòu):千鋒教育。

      聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
      10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
      請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
      免費領(lǐng)取
      今日已有369人領(lǐng)取成功
      劉同學(xué) 138****2860 剛剛成功領(lǐng)取
      王同學(xué) 131****2015 剛剛成功領(lǐng)取
      張同學(xué) 133****4652 剛剛成功領(lǐng)取
      李同學(xué) 135****8607 剛剛成功領(lǐng)取
      楊同學(xué) 132****5667 剛剛成功領(lǐng)取
      岳同學(xué) 134****6652 剛剛成功領(lǐng)取
      梁同學(xué) 157****2950 剛剛成功領(lǐng)取
      劉同學(xué) 189****1015 剛剛成功領(lǐng)取
      張同學(xué) 155****4678 剛剛成功領(lǐng)取
      鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
      董同學(xué) 138****2867 剛剛成功領(lǐng)取
      周同學(xué) 136****3602 剛剛成功領(lǐng)取
      相關(guān)推薦HOT
      列舉python常見的內(nèi)置函數(shù)

      abs()返回數(shù)字的絕對值map根據(jù)函數(shù)對指定序列做映射map()函數(shù)接收兩個參數(shù),一個是函數(shù),一個是可迭代對象,map將傳入的函數(shù)依次作用到序列的每...詳情>>

      2023-11-07 17:02:46
      python內(nèi)置函數(shù):map、reduce、filter的用法和區(qū)別

      map:根據(jù)函數(shù)對指定序列做映射map參數(shù)接收兩個參數(shù):一個是函數(shù),一個是序列(可迭代對象)返回值Python2返回列表python3返回迭代器#例子:#abs()...詳情>>

      2023-11-07 16:59:10
      python虛擬環(huán)境工具virtualenv

      virtualenv是一個創(chuàng)建隔絕的Python環(huán)境的工具。virtualenv創(chuàng)建一個包含所有必要的可執(zhí)行文件的文件夾,用來使用Python工程所需的包。安裝pipins...詳情>>

      2023-11-07 16:30:22
      python函數(shù)調(diào)用和參數(shù)傳遞

      定義過函數(shù)后,就可以在后面程序中使用這一函數(shù)printsquare_sum(3,4)python通過位置,知道3對應(yīng)的是函數(shù)定義中的第一個參數(shù)a,4對應(yīng)第二個參數(shù)b...詳情>>

      2023-11-07 16:19:34
      python字節(jié)碼和機器碼的區(qū)別

      機器碼,學(xué)名機器語言指令,有時也被稱為原生碼,是電腦的CPU可直接解讀的數(shù)據(jù)。字節(jié)碼是一種中間狀態(tài)(中間碼)的二進制代碼(文件)。需要直譯器...詳情>>

      2023-11-07 16:05:10