網站首頁 編程語言 正文
xml文件:country.xml
231 1 This is NEW 2008 141100 4 2011 59900 68 2011 13600
xml文件解讀
1.xml一個節點有三個屬性:tag、text、attrib 2. 以第一個子節點country為例: 3. tag代表節點名字,country節點的tag就是它的名字:country 4. text代表節點文本內容,rank節點的text就是1 5. attrib代表節點包含的屬性,以{屬性:值}這樣的字典形式存放。country節點的屬性是{name:Liechtenstein}.name是屬性的鍵,Liechtenstein是屬性的值。{屬性:值}就是一個字典類型,可以使用一切字典方法。 6. country節點的tag為country,attrib為{name:Liechtenstein},text為空 7. rank節點的tag為rank,attrib為空字典,text為1 8. 綜上所述,xml文檔主要由節點以及節點的三個屬性組成。
讀取文件:
import xml.etree.ElementTree as ET file_path = r'xml_te.xml' tree = ET.ElementTree(file = file_path) #讀取xml文件 print(tree.iter()) for i in tree.iter('rank'): #迭代獲取tag為'rank'的節點 print(i.text) nodes = tree.find('country') #獲取第一個tag為country的節點,返回是子節點的迭代對象 print(nodes.tag) nodes2 = tree.findall('country') #獲取所有tag為country的節點 print(nodes2) for node in nodes2: #打印節點的三個屬性 print(node.tag) print(node.attrib) print(node.text)
增加新節點及修改屬性值和文本
import xml.etree.ElementTree as ET file_path = r'xml_te.xml' tree = ET.ElementTree(file = file_path) #讀取xml文件 # root = tree.getroot() #獲取根結點 """增加新節點""" net = ET.Element('NewNode') net.attrib = {'A':"1"} #節點屬性 net.text = "This is NEW" #節點文本 node = tree.find('country/rank/NewNode') #找到需要增加子節點的父節點 node.append(net) print(node.text) tree.write(file_path) #寫入文件 """修改屬性值""" sub = tree.find('country') #找到節點 sub.set('name',"shdi2hajk") #set(key,new value) sub.text = '231' print(sub.attrib) print(sub.text) tree.write(file_path) #寫入文件
總結
原文鏈接:https://blog.csdn.net/qq_38122800/article/details/123208245
相關推薦
- 2022-05-16 Qt5中QML自定義環形菜單/環形選擇框的實現_C 語言
- 2023-02-10 解決Jupyter?Notebook?“signal?only?works?in?main?thre
- 2023-10-18 下載文件時前端重命名的實現方法將url地址轉化為文件實現重命名
- 2022-07-25 Python?APScheduler?定時任務詳解_python
- 2022-07-21 nginx?配置指令之location使用詳解_nginx
- 2022-06-02 關于Python使用turtle庫畫任意圖的問題_python
- 2022-10-16 Python?numpy生成矩陣基礎用法實例代碼_python
- 2022-02-17 在react中使用antv g2繪制帶有sider滑塊的chart圖表
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支