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

python標(biāo)準(zhǔn)庫ElementTree處理xml

 更新時(shí)間:2022年05月20日 11:45:02   作者:wangst4321  
這篇文章主要為大家介紹了python標(biāo)準(zhǔn)庫ElementTree處理xml的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1. 示例用法

參照官方文檔,創(chuàng)建country_data.xml測(cè)試文檔,內(nèi)容如下:

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

使用如下代碼,將數(shù)據(jù)讀出,打印

from xml.etree.ElementTree 
data = ElementTree.ElementTree(file='country_data.xml')
country_list = data.findall('country')   #找到所有名為‘country'的tag,返回一個(gè)Element對(duì)象列表。
for country in country_list:
    name = country.attrib.get('name', '') 
    print name, ' ', 
    for item in country:
        if item.tag == 'neighbor':
            name = item.attrib.get('name', '') 
            direction = item.attrib.get('direction', '') 
            print '{0} ({1})'.format(name, direction), ' ',
        else:
            print item.text, ' ',
    print ''

其中

data = ElementTree.ElementTree(file='country_data.xml')

獲得一個(gè)ElementTree對(duì)象,也可以使用

tree = ElementTree.parse('country_data.xml')

Element對(duì)象具有如下屬性和操作

elem.tag這個(gè)Element對(duì)象的名字(tag)
elem.text文檔內(nèi)容
elem.attrib屬性值字典
elem.tail與屬性一起存儲(chǔ)的其他數(shù)據(jù)

elem[n] 返回elem的第n個(gè)子元素

elem[n] = new_elem 將elem的第n個(gè)子元素更改為不同的元素new_elem

del elem[n] 刪除子元素

len(elem) 子元素的數(shù)量

elem.find(path)

elem.getchildren() 按文檔順序返回所有子元素

elem.items()將所有元素的屬性值以(name, value)對(duì)列表形式返回

遇到非法格式的xml

ExpatError: no element found

bad.xml為空文檔時(shí),內(nèi)容如下:

<?xml version="1.0"?>

執(zhí)行如下python代碼,遇到xml.parser.expat.ExpatError異常:

import xml.etree.ElementTree as ET
ET.parse('bad.xml')

xml.parsers.expat.ExpatError: no element found: line 3, column 0

ExpatError: mismatched tag

bad.xml中找不到對(duì)應(yīng)結(jié)束標(biāo)記符時(shí),內(nèi)容如下:

<?xml version="1.0"?>
<note>
</Note>

因?yàn)閰^(qū)分大小寫,所以</Note> 不能作為<note>的結(jié)束標(biāo)記。

xml.parsers.expat.ExpatError: mismatched tag: line 3, column 2

ExpatError: not well-formed(invalid token)

bad.xml中屬性值未包含在雙引號(hào)(&quot;)之中時(shí),遇到如下異常:

<?xml version="1.0"?>
<note id=hello>
</note>

bad.xml中非法符號(hào),在"if salary < 1000 then"語句的‘<',如下:

<?xml version="1.0"?>
<note id="hello">
if salary < 1000 then
</note

xml.parsers.expat.ExpatError: not well-formed (invalid token): line 2, column 9

以上就是python標(biāo)準(zhǔn)庫ElementTree處理xml的詳細(xì)內(nèi)容,更多關(guān)于python ElementTree處理xml的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python反向傳播實(shí)現(xiàn)線性回歸步驟詳細(xì)講解

    Python反向傳播實(shí)現(xiàn)線性回歸步驟詳細(xì)講解

    回歸是監(jiān)督學(xué)習(xí)的一個(gè)重要問題,回歸用于預(yù)測(cè)輸入變量和輸出變量之間的關(guān)系,特別是當(dāng)輸入變量的值發(fā)生變化時(shí),輸出變量的值也隨之發(fā)生變化?;貧w模型正是表示從輸入變量到輸出變量之間映射的函數(shù)
    2022-10-10
  • keras的load_model實(shí)現(xiàn)加載含有參數(shù)的自定義模型

    keras的load_model實(shí)現(xiàn)加載含有參數(shù)的自定義模型

    這篇文章主要介紹了keras的load_model實(shí)現(xiàn)加載含有參數(shù)的自定義模型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 基于Python構(gòu)建深度學(xué)習(xí)圖像分類模型

    基于Python構(gòu)建深度學(xué)習(xí)圖像分類模型

    在人工智能的浪潮中,圖像分類作為計(jì)算機(jī)視覺領(lǐng)域的基礎(chǔ)任務(wù)之一,一直備受關(guān)注,本文將介紹如何使用Python和PyTorch框架,構(gòu)建一個(gè)簡單的深度學(xué)習(xí)圖像分類模型,感興趣的可以了解下
    2024-12-12
  • Python實(shí)現(xiàn)簡單的用戶交互方法詳解

    Python實(shí)現(xiàn)簡單的用戶交互方法詳解

    這篇文章給大家分享了關(guān)于Python實(shí)現(xiàn)簡單的用戶交互的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2018-09-09
  • wxpython中利用線程防止假死的實(shí)現(xiàn)方法

    wxpython中利用線程防止假死的實(shí)現(xiàn)方法

    上午抽空學(xué)習(xí)了一下在wxpython中啟用線程的方法,將GUI和功能的執(zhí)行分開,果然程序運(yùn)行起來杠杠滴。因?yàn)槲夷莻€(gè)軟件的代碼暫時(shí)不能公開,這里專門寫個(gè)小程序,作為今天的筆記吧
    2014-08-08
  • Python3學(xué)習(xí)urllib的使用方法示例

    Python3學(xué)習(xí)urllib的使用方法示例

    本篇文章主要介紹了Python3學(xué)習(xí)urllib的使用方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • Python處理EXCEL表格導(dǎo)入操作分步講解

    Python處理EXCEL表格導(dǎo)入操作分步講解

    python操作excel主要用到xlrd和pandas兩個(gè)庫,xlrd讀取表格數(shù)據(jù),支持xlsx和xls格式的excel表格,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • python深度學(xué)習(xí)tensorflow實(shí)例數(shù)據(jù)下載與讀取

    python深度學(xué)習(xí)tensorflow實(shí)例數(shù)據(jù)下載與讀取

    這篇文章主要為大家介紹了python深度學(xué)習(xí)tensorflow實(shí)例數(shù)據(jù)下載與讀取示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Django靜態(tài)資源URL STATIC_ROOT的配置方法

    Django靜態(tài)資源URL STATIC_ROOT的配置方法

    這篇文章主要介紹了Django靜態(tài)資源URL STATIC_ROOT的配置方法,本文給出配置方法和兩種使用方法,需要的朋友可以參考下
    2014-11-11
  • 目前最全的python的就業(yè)方向

    目前最全的python的就業(yè)方向

    Python是一門面向?qū)ο蟮木幊陶Z言,編譯速度超快,從誕生到現(xiàn)在已經(jīng)25個(gè)年頭了。其特點(diǎn)在于靈活運(yùn)用,因?yàn)槠鋼碛写罅康谌綆欤蚤_發(fā)人員不必重復(fù)造輪子,就像搭積木一樣,只要擅于利用這些庫就可以完成絕大部分工作
    2018-06-06

最新評(píng)論

卓尼县| 木兰县| 浑源县| 太仆寺旗| 山东省| 台北县| 黎城县| 凌海市| 新河县| 呼图壁县| 宁波市| 二连浩特市| 桓仁| 德令哈市| 枞阳县| 五台县| 宁蒗| 枣阳市| 凤山县| 龙州县| 隆化县| 昭觉县| 南昌市| 永善县| 嘉善县| 雷山县| 博客| 仁寿县| 大厂| 尤溪县| 贵阳市| 大城县| 玉山县| 九龙坡区| 酉阳| 奉贤区| 钦州市| 贵阳市| 通海县| 榕江县| 壤塘县|