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

python與xml數(shù)據(jù)的交互詳解

 更新時(shí)間:2022年07月21日 10:50:49   作者:搬磚,贊路費(fèi)  
這篇文章主要介紹了python與xml數(shù)據(jù)的交互詳解,文章圍繞主題站卡詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下

一 什么是XML?

python與json數(shù)據(jù)的交互詳情 在這篇文章中我們介紹了json是一種獨(dú)立于編程語言和平臺的數(shù)據(jù)存儲和交換方式(格式),其實(shí)xml和json基本一樣,也是一種用于進(jìn)行數(shù)據(jù)存儲和交換的方式,并且也獨(dú)立于編程語言和平臺。
XML可擴(kuò)展標(biāo)記語言(英語:Extensible Markup Language,簡稱:XML)是一種標(biāo)記語言,是從標(biāo)準(zhǔn)通用標(biāo)記語言(SGML)中簡化修改出來的。XML設(shè)計(jì)的宗旨就是用來傳輸數(shù)據(jù)的。

二 XML語法規(guī)則

1. xml語法規(guī)則

xml的語法規(guī)則和html的語法規(guī)則很像,但卻有著明顯的差別。相同的是它們都用標(biāo)簽對來存儲數(shù)據(jù),但是html的標(biāo)簽都是預(yù)定義的,而xml的標(biāo)簽則完全是由編輯者自己定義的。

xml的語法規(guī)則如下:

<?xml version="1.0" encoding="utf-8"?>
<CFX>
    <Head>
        <TxCode>CHL2108</TxCode>
        <WorkDate>20220629</WorkDate>
        <WorkTime>164506</WorkTime>
    </Head>
    <WDWMSG>
        <login username="張三" password="123456">張三</login>>
        <PayAcct>1</PayAcct>
        <TrnPwd></TrnPwd>
        <TsmNbr>SSM1050000000001</TsmNbr>
        <PwdKeySeq>001</PwdKeySeq>
        <PwdChkVal>6391E8421C007ED5</PwdChkVal>
        <Reverse>D0E8C46A0B765B</Reverse>
    </WDWMSG>
    <PSBMSG>
        <PayAcct>2</PayAcct>
    </PSBMSG>
    <CHL2108>
        <TrnSerial>2207081541590398</TrnSerial>
        <CHLSerial>STM202206291645060000000000</CHLSerial>
        <PayAcct>6232621151792579</PayAcct>
        <HandOrgName>達(dá)拉崩吧班德貝蒂卜多比魯翁·昆圖庫塔卡提考特蘇瓦西拉松·木大</HandOrgName>
        <PrintAcct>755933363410722</PrintAcct>
        <TrnAmt>70000</TrnAmt>
        <TaxVouNo>010021102121600095</TaxVouNo>
        <TaxOrgCode>23301900000</TaxOrgCode>
        <TrnPlace>0075</TrnPlace>
        <TaxPayCode>1456151561650569</TaxPayCode>
        <TrnSrc>STM</TrnSrc>
    </CHL2108>
</CFX>

xml 必須包含根元素,它是所有其它元素的父元素,如上文中的CFXxml 標(biāo)簽必須是成對出現(xiàn)的,即必須有關(guān)關(guān)閉標(biāo)簽

<?xml version="1.0" encoding="utf-8"?>

上面這部分是xml的文檔聲明部分,包含了版本信息和編碼方式,是可選的。其他

更多的規(guī)則請參考:

2. xml與html的區(qū)別

xml和html很像,但區(qū)別也很大,具體不同如下:

  • html標(biāo)簽是預(yù)定義的,而xml則是由使用者自己定義
  • xml被設(shè)計(jì)用來傳輸和存儲數(shù)據(jù),其焦點(diǎn)是數(shù)據(jù)的內(nèi)容
  • html被設(shè)計(jì)用來顯示數(shù)據(jù),其焦點(diǎn)是數(shù)據(jù)的外觀

三 python與xml的交互

python獲取xml的數(shù)據(jù)信息一般用xml.dom 來解析,具體如下

1. 獲取標(biāo)簽對內(nèi)的數(shù)據(jù)

比如提取上面xml文件中PayAcct 標(biāo)簽內(nèi)的數(shù)據(jù)

from xml.dom import minidom

#mimidom.parse將xml文件解析成DOM文檔
data = minidom.parse('../練習(xí)文件/XML練習(xí).XML')
print(type(data))
print('*'*50)

#首先利用data.getElementsByTagName('標(biāo)簽名')提取出標(biāo)簽
payacct = data.getElementsByTagName('PayAcct')
print(type(payacct))
for i in range(len(payacct)):
    print(payacct[i].toxml())#toxml還原xml格式
print('*'*50)

print('PayAcct標(biāo)簽內(nèi)容如下:')
#再用 firstChild.data 獲取標(biāo)簽數(shù)據(jù)值
for i in range(len(payacct)):
    print(payacct[i].firstChild.data)

如上,minidom.parse()的作用是將xml文檔解析成DOM文檔,然后通過getElementsTagName()方法提取出標(biāo)簽對,最后通過firstChild.data獲取標(biāo)簽內(nèi)的數(shù)據(jù),過程中需要注意的是getElementsTagName()方法提取出標(biāo)簽對返回的結(jié)果是一個(gè)列表,

結(jié)果如下:

>>>
<class 'xml.dom.minidom.Document'>
**************************************************
<class 'xml.dom.minicompat.NodeList'>
<PayAcct>1</PayAcct>
<PayAcct>2</PayAcct>
<PayAcct>6232621151792579</PayAcct>
**************************************************
PayAcct標(biāo)簽內(nèi)容如下:
1
2
6232621151792579

2. 獲取標(biāo)簽屬性值

通過getAttribute 獲取標(biāo)簽的屬性值。如下獲取login標(biāo)簽的屬性值

<login username="張三" password="123456">張三</login>
from xml.dom import minidom

#mimidom.parse將xml文件解析成DOM文檔
data = minidom.parse('../練習(xí)文件/XML練習(xí).XML')

#首先利用data.getElementsByTagName('標(biāo)簽名')提取出標(biāo)簽
login = data.getElementsByTagName('login')
print(type(login))
print(login)
for i in range(len(login)):
    print(login[i].toxml())
print('*'*50)

#再用 getAttribute('屬性值') 獲取標(biāo)簽屬性值
print('login的屬性值如下:')
print(login[0].getAttribute('username'))
print(login[0].getAttribute('password'))

結(jié)果如下:

>>>
<class 'xml.dom.minicompat.NodeList'>
[<DOM Element: login at 0x188b60ec048>]
<login password="123456" username="張三">張三</login>
**************************************************
login的屬性值如下:
張三
123456

到此這篇關(guān)于python與xml數(shù)據(jù)的交互詳解的文章就介紹到這了,更多相關(guān)python與xml數(shù)據(jù)交互內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Jupyter notebook在mac:linux上的配置和遠(yuǎn)程訪問的方法

    Jupyter notebook在mac:linux上的配置和遠(yuǎn)程訪問的方法

    今天小編就為大家分享一篇關(guān)于Jupyter notebook在mac:linux上的配置和遠(yuǎn)程訪問的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • python代碼打包工具cx_Freeze的安裝及用法詳解

    python代碼打包工具cx_Freeze的安裝及用法詳解

    cx_Freeze是一個(gè)流行的Python庫,它可以將Python腳本及其依賴項(xiàng)打包成獨(dú)立的可執(zhí)行文件,支持多平臺(如Windows、Linux和macOS),本文將結(jié)合實(shí)際案例,詳細(xì)介紹cx_Freeze的安裝、配置和使用方法,需要的朋友可以參考下
    2024-08-08
  • python中如何使用樸素貝葉斯算法

    python中如何使用樸素貝葉斯算法

    本文主要介紹了python中如何使用樸素貝葉斯算法的相關(guān)知識。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • Python本地搭建靜態(tài)Web服務(wù)器的實(shí)現(xiàn)

    Python本地搭建靜態(tài)Web服務(wù)器的實(shí)現(xiàn)

    本文主要介紹了Python本地搭建靜態(tài)Web服務(wù)器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • OpenCV 使用imread()函數(shù)讀取圖片的六種正確姿勢

    OpenCV 使用imread()函數(shù)讀取圖片的六種正確姿勢

    這篇文章主要介紹了OpenCV 使用imread()函數(shù)讀取圖片的六種正確姿勢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python中類的mro與繼承關(guān)系詳解

    Python中類的mro與繼承關(guān)系詳解

    這篇文章主要介紹了Python中類的mro與繼承關(guān)系,文章圍繞主題展開初步認(rèn)識mro的解析順序,具有一定的參考價(jià)值。需要的朋友可以參考一下
    2022-07-07
  • python實(shí)現(xiàn)顏色空間轉(zhuǎn)換程序(Tkinter)

    python實(shí)現(xiàn)顏色空間轉(zhuǎn)換程序(Tkinter)

    這篇文章主要介紹了基于Tkinter利用python實(shí)現(xiàn)顏色空間轉(zhuǎn)換程序,感興趣的小伙伴們可以參考一下
    2015-12-12
  • 淺談Django Admin的初步使用

    淺談Django Admin的初步使用

    本文主要介紹了淺談Django Admin的初步使用 ,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • python redis連接 有序集合去重的代碼

    python redis連接 有序集合去重的代碼

    這篇文章主要介紹了python redis連接 有序集合去重的代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python同義詞替換的實(shí)現(xiàn)(jieba分詞)

    python同義詞替換的實(shí)現(xiàn)(jieba分詞)

    這篇文章主要介紹了python同義詞替換的實(shí)現(xiàn)(jieba分詞),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01

最新評論

顺昌县| 抚州市| 琼中| 荔波县| 科技| 贵德县| 霍林郭勒市| 灵武市| 拉孜县| 贵港市| 宁乡县| 台中市| 望谟县| 林口县| 南川市| 宁蒗| 聊城市| 新昌县| 曲麻莱县| 东莞市| 衡山县| 资阳市| 三原县| 承德市| 岢岚县| 柘荣县| 佳木斯市| 仲巴县| 合川市| 尼木县| 庆城县| 洛隆县| 泾阳县| 雷波县| 宁都县| 勃利县| 特克斯县| 会东县| 武陟县| 定襄县| 忻州市|