程式跌倒筆記
IPFS
程式:
import xml.etree.ElementTree as ETdata2 ='''<XML_Head Listname="1" Language="C" Orgname="A15010000H" Updatetime="2023/11/22 01:34:09"><Infos><Info><Id>C1_313020000G_000026</Id><Name>宏亞食品巧克力觀光工廠</Name><Zone /><Toldescribe>宏亞食品巧克力觀光工廠是一座以巧克力為主題的觀光工廠,建築設計、展場文字、陳列物、戶外景觀及相關造型皆與巧克力密不可分,全棟為綠建築,展場設計依照建築外觀之透光與否進行規劃,節能省碳,此外,展場更提供豐富的巧克力相關知識(含巧克力3500年歷史)為一寓教於樂之專業型廠館,是休閒娛樂絕佳去處。</Toldescribe><Description>巧克力共和國是一座以巧克力為主題的觀光工廠,建築設計、館內主題設計皆以巧克力為主題,這裡也提供豐富的巧克力相關知識,亦可以DIY創作巧克力,為一寓教於樂、適合親子休閒娛樂的絕佳去處。</Description><Tel>886-3-3656555</Tel><Add>桃園縣八德市建國路386號</Add><Zipcode>33451</Zipcode><Region>桃園市</Region><Town>八德區</Town><Travellinginfo /><Opentime /><Picture1 /><Picdescribe1 /><Picture2 /><Picdescribe2 /><Picture3 /><difficult>0</difficult><Picdescribe3 /><Map /><Gov>313020000G</Gov><Px>121.297187</Px><Py>24.943325</Py><Orgclass>觀光工廠</Orgclass><Class1>1</Class1><Class2>14</Class2></Info></Infos></XML_Head>''' tree2 = ET.fromstring(data2) print(tree2.find('Id'))
解法&問題:
剛開始的時候,我直接打算呼叫Info階層內的其中一個標籤內容失敗(例如print(tree2.find('Id').text) ),查詢google後還是找不到甚麼有用的解決方法,後來我想到如果這是一棵樹,像是大學學到的binary tree,那麼,若我想要找到離源頭非常遠的數值的話,我必須一層一層呼叫下去,才能正確叫出特定數值,因此我做了一個小實驗:
tree2 = ET.fromstring(data2)a = tree2.find('Infos')b = a.find('Info')c = b.find('Id')print(c.text)結果就沒問題了:
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!