最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python xml模塊的簡單使用

 更新時間:2021年03月08日 11:23:42   作者:二十三歲的有德  
這篇文章主要介紹了python xml模塊的簡單使用,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下

一、xml簡介

xml是實(shí)現(xiàn)不同語言或程序之間進(jìn)行數(shù)據(jù)交換的協(xié)議,跟json差不多,但json使用起來更簡單,不過,古時候,在json還沒誕生的黑暗年代,大家只能選擇用xml呀,至今很多傳統(tǒng)公司如金融行業(yè)的很多系統(tǒng)的接口還主要是xml。

xml的格式如下,就是通過<>節(jié)點(diǎn)來區(qū)別數(shù)據(jù)結(jié)構(gòu)的:

<?xml version="1.0"?>
<data>
  <country name="Liechtenstein">
    <rank updated="yes">2</rank>
    <year>2008</year>
    <gdppc>141100</gdppc>
    <neighbor name="Austria" direction="E"/>
    <neighbor name="Switzerland" direction="W"/>
  </country>
  <country name="Singapore">
    <rank updated="yes">5</rank>
    <year>2011</year>
    <gdppc>59900</gdppc>
    <neighbor name="Malaysia" direction="N"/>
  </country>
  <country name="Panama">
    <rank updated="yes">69</rank>
    <year>2011</year>
    <gdppc>13600</gdppc>
    <neighbor name="Costa Rica" direction="W"/>
    <neighbor name="Colombia" direction="E"/>
  </country>
</data>

二、Python使用xml

xml協(xié)議在各個語言里的都 是支持的,在python中可以用以下模塊操作xml:

# print(root.iter('year')) #全文搜索
# print(root.find('country')) #在root的子節(jié)點(diǎn)找,只找一個
# print(root.findall('country')) #在root的子節(jié)點(diǎn)找,找所有

import xml.etree.ElementTree as ET

tree = ET.parse("xmltest.xml")
root = tree.getroot()
print(root.tag)

#遍歷xml文檔
for child in root:
  print('========>', child.tag, child.attrib, child.attrib['name'])
  for i in child:
    print(i.tag, i.attrib, i.text)

#只遍歷year 節(jié)點(diǎn)
for node in root.iter('year'):
  print(node.tag, node.text)
#---------------------------------------

import xml.etree.ElementTree as ET

tree = ET.parse("xmltest.xml")
root = tree.getroot()

#修改
for node in root.iter('year'):
  new_year = int(node.text) + 1
  node.text = str(new_year)
  node.set('updated', 'yes')
  node.set('version', '1.0')
tree.write('test.xml')

#刪除node
for country in root.findall('country'):
  rank = int(country.find('rank').text)
  if rank > 50:
    root.remove(country)

tree.write('output.xml')

#在country內(nèi)添加(append)節(jié)點(diǎn)year2
import xml.etree.ElementTree as ET
tree = ET.parse("a.xml")
root = tree.getroot()
for country in root.findall('country'):
  for year in country.findall('year'):
    if int(year.text) > 2000:
      year2 = ET.Element('year2')
      year2.text = '新年'
      year2.attrib = {'update': 'yes'}
      country.append(year2) #往country節(jié)點(diǎn)下添加子節(jié)點(diǎn)

tree.write('a.xml.swap')

三、自己創(chuàng)建xml文檔

import xml.etree.ElementTree as ET

new_xml = ET.Element("namelist")
name = ET.SubElement(new_xml, "name", attrib={"enrolled": "yes"})
age = ET.SubElement(name, "age", attrib={"checked": "no"})
sex = ET.SubElement(name, "sex")
sex.text = '33'
name2 = ET.SubElement(new_xml, "name", attrib={"enrolled": "no"})
age = ET.SubElement(name2, "age")
age.text = '19'

et = ET.ElementTree(new_xml) #生成文檔對象
et.write("test.xml", encoding="utf-8", xml_declaration=True)

ET.dump(new_xml) #打印生成的格式

以上就是python xml模塊的簡單使用的詳細(xì)內(nèi)容,更多關(guān)于python xml模塊使用的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python中把元組轉(zhuǎn)換為namedtuple方法

    python中把元組轉(zhuǎn)換為namedtuple方法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中把元組轉(zhuǎn)換為namedtuple方法,有興趣的朋友們可以參考下。
    2020-12-12
  • Python流程控制 if else實(shí)現(xiàn)解析

    Python流程控制 if else實(shí)現(xiàn)解析

    這篇文章主要介紹了Python 流程控制 if else實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • PyTorch中apex安裝方式和避免踩坑

    PyTorch中apex安裝方式和避免踩坑

    本文主要介紹了PyTorch中apex安裝方式和避免踩坑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 想學(xué)python 這5本書籍你必看!

    想學(xué)python 這5本書籍你必看!

    想學(xué)python,這5本書籍你必看!本文為大家推薦了學(xué)習(xí)python的5本書籍,5本經(jīng)典書籍,感興趣的小伙伴們可以參考一下
    2018-12-12
  • PyQt5+Caffe+Opencv搭建人臉識別登錄界面

    PyQt5+Caffe+Opencv搭建人臉識別登錄界面

    這篇文章主要為大家詳細(xì)介紹了PyQt5+Caffe+Opencv搭建人臉識別登錄界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python中使用jpype調(diào)用Jar包中的實(shí)現(xiàn)方法

    Python中使用jpype調(diào)用Jar包中的實(shí)現(xiàn)方法

    這篇文章主要介紹了Python中使用jpype調(diào)用Jar包中的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python模塊匯總(常用第三方庫)

    Python模塊匯總(常用第三方庫)

    計(jì)算機(jī)在開發(fā)過程中,代碼越寫越多,也就越難以維護(hù),所以為了編寫可維護(hù)的代碼,我們會把函數(shù)進(jìn)行分組,放在不同的文件里。在python里,一個.py文件就是一個模塊
    2019-10-10
  • 五個Python命令使用的小妙招分享

    五個Python命令使用的小妙招分享

    平常在使用python命令過程中,基本上都是用來安裝python庫時才使用到在控制臺的python命令。然而,python命令還有更多的妙用,本文就來為大家詳細(xì)講講
    2022-07-07
  • Python基于Hypothesis測試庫生成測試數(shù)據(jù)

    Python基于Hypothesis測試庫生成測試數(shù)據(jù)

    這篇文章主要介紹了Python基于Hypothesis測試庫生成測試數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python常用數(shù)據(jù)結(jié)構(gòu)字典梳理

    python常用數(shù)據(jù)結(jié)構(gòu)字典梳理

    這篇文章主要介紹了python常用數(shù)據(jù)結(jié)構(gòu)字典梳理,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08

最新評論

方山县| 普兰店市| 龙游县| 北宁市| 开鲁县| 方城县| 肥城市| 苗栗市| 锡林浩特市| 宾阳县| 绩溪县| 湖北省| 光山县| 遂溪县| 台南县| 巴楚县| 买车| 肇源县| 永川市| 峨眉山市| 石景山区| 五常市| 博客| 河北区| 六枝特区| 红原县| 寿宁县| 洪泽县| 林州市| 湟源县| 普安县| 兰考县| 兖州市| 北安市| 玛曲县| 嵊州市| 兴城市| 曲水县| 安溪县| 灵石县| 焦作市|