Python練習之讀取XML節點和屬性值的方法
面試題
有一個test.xml文件,要求讀取該文件中products節點的所有子節點的值以及子節點的屬性值。
test.xml文件:
<!-- products.xml --> <root> <products> <product uuid='1234'> <id>10000</id> <name>蘋果</name> <price>99999</price> </product> <product uuid='1235'> <id>10001</id> <name>小米</name> <price>999</price> </product> <product uuid='1236'> <id>10002</id> <name>華為</name> <price>9999</price> </product> </products> </root>
解析
# coding=utf-8 from xml.etree.ElementTree import parse doc = parse('./products.xml') print(type(doc)) for item in doc.iterfind('products/product'): id = item.findtext('id') name = item.findtext('name') price = item.findtext('price') uuid = item.get('uuid') print('uuid={}, id={}, name={}, price={}'.format(uuid, id, name, price), end='\n----------\n')
- 通過parse函數可以讀取XML文檔,該函數返回ElementTree類型的對象,通過該對象的iterfind方法可以對XML中特定節點進行迭代。
- XML結構的獨特,使得它很方便在任何應用程序中讀和寫數據,所以XML非常快就成為數據交換的唯一公共語言,雖然不同軟件也支持其他的數據交換格式,但這並不影響,支持XML數據交換格式的應用程序可以十分容易的與windows,linux或者其他平臺產生的信息結合,然後可以十分方便的加載XML數據到程序中並分析它,最後以XML格式輸出結果。
- 不過細心的朋友應該能發現,這個格式的數據與我們在爬蟲爬取數據時,未經處理的原始數據格式十分相像,甚至讀取操作都幾乎一模一樣,有興趣的朋友可以自行去搜索看看這兩種數據格式的背景哦
到此這篇關於Python練習之讀取XML節點和屬性值的方法的文章就介紹到這瞭,更多相關Python讀取XML內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 編寫 Vue v-for 循環的 7 種方式
- 分析如何在Python中解析和修改XML
- python uuid生成唯一id或str的最簡單案例
- python通過ElementTree操作XML
- python 對xml解析的示例