<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
python與json資料的互動詳情 在這篇文章中我們介紹了json是一種獨立於程式語言和平臺的資料儲存和交換方式(格式),其實xml和json基本一樣,也是一種用於進行資料儲存和交換的方式,並且也獨立於程式語言和平臺。
XML可延伸標示語言(英語:Extensible Markup Language,簡稱:XML)是一種標示語言,是從標準通用標示語言(SGML)中簡化修改出來的。XML設計的宗旨就是用來傳輸資料的。
xml的語法規則和html的語法規則很像,但卻有著明顯的差別。相同的是它們都用標籤對來儲存資料,但是html的標籤都是預定義的,而xml的標籤則完全是由編輯者自己定義的。
xml的語法規則如下:
<?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>達拉崩吧班德貝蒂卜多比魯翁·昆相簿塔卡提考特蘇瓦西拉鬆·木大</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 標籤必須是成對出現的,即必須有關關閉標籤
<?xml version="1.0" encoding="utf-8"?>
上面這部分是xml的檔案宣告部分,包含了版本資訊和編碼方式,是可選的。其他
xml和html很像,但區別也很大,具體不同如下:
python獲取xml的資料資訊一般用xml.dom 來解析,具體如下
比如提取上面xml檔案中PayAcct 標籤內的資料
from xml.dom import minidom #mimidom.parse將xml檔案解析成DOM檔案 data = minidom.parse('../練習檔案/XML練習.XML') print(type(data)) print('*'*50) #首先利用data.getElementsByTagName('標籤名')提取出標籤 payacct = data.getElementsByTagName('PayAcct') print(type(payacct)) for i in range(len(payacct)): print(payacct[i].toxml())#toxml還原xml格式 print('*'*50) print('PayAcct標籤內容如下:') #再用 firstChild.data 獲取標籤資料值 for i in range(len(payacct)): print(payacct[i].firstChild.data)
如上,minidom.parse()的作用是將xml檔案解析成DOM檔案,然後通過getElementsTagName()方法提取出標籤對,最後通過firstChild.data獲取標籤內的資料,過程中需要注意的是getElementsTagName()方法提取出標籤對返回的結果是一個列表,
結果如下:
>>>
<class 'xml.dom.minidom.Document'>
**************************************************
<class 'xml.dom.minicompat.NodeList'>
<PayAcct>1</PayAcct>
<PayAcct>2</PayAcct>
<PayAcct>6232621151792579</PayAcct>
**************************************************
PayAcct標籤內容如下:
1
2
6232621151792579
通過getAttribute 獲取標籤的屬性值。如下獲取login標籤的屬性值
<login username="張三" password="123456">張三</login>
from xml.dom import minidom #mimidom.parse將xml檔案解析成DOM檔案 data = minidom.parse('../練習檔案/XML練習.XML') #首先利用data.getElementsByTagName('標籤名')提取出標籤 login = data.getElementsByTagName('login') print(type(login)) print(login) for i in range(len(login)): print(login[i].toxml()) print('*'*50) #再用 getAttribute('屬性值') 獲取標籤屬性值 print('login的屬性值如下:') print(login[0].getAttribute('username')) print(login[0].getAttribute('password'))
結果如下:
>>>
<class 'xml.dom.minicompat.NodeList'>
[<DOM Element: login at 0x188b60ec048>]
<login password="123456" username="張三">張三</login>
**************************************************
login的屬性值如下:
張三
123456
到此這篇關於python與xml資料的互動詳解的文章就介紹到這了,更多相關python與xml資料互動內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45