python實現修改xml檔案內容詳解

大雄45發表於2022-08-13
導讀 這篇文章主要介紹了python實現修改xml檔案內容,XML 指可擴充套件標記語言,是一種標記語言,是從標準通用標記語言(SGML)中簡化修改出來的

XML 被設計用來傳輸和儲存資料。

HTML 被設計用來顯示資料。

XML 指可擴充套件標記語言(eXtensible Markup Language)。

可擴充套件標記語言(英語:Extensible Markup Language,簡稱:XML)是一種標記語言,是從標準通用標記語言(SGML)中簡化修改出來的。它主要用到的有可擴充套件標記語言、可擴充套件樣式語言(XSL)、XBRL和XPath等。

直接上程式碼,拿來就可用。

首先需要準備一個測試xml檔案,我這個檔名字為text.xml;

< data>
< country name="Liechtenstein">
< rank>yunweijia< /rank>
< year>2022< /year>
< gdppc>141100< /gdppc>
< neighbor name="Austria" direction="E" />
< neighbor name="Switzerland" direction="W" />
< /country>
< country name="Singapore">
< rank>yunweijia< /rank>
< year>2023< /year>
< gdppc>59900< /gdppc>
< neighbor name="Malaysia" direction="N" />
< /country>
< country name="Panama">
< rank>yunweijia< /rank>
< year>2024< /year>
< gdppc>13600< /gdppc>
< neighbor name="Costa Rica" direction="W" />
< neighbor name="Colombia" direction="E" />
< /country>
< /data>

然後使用以下程式碼來進行修改;

import xml.etree.ElementTree as ET
def change_one_xml(xml_path, xml_dw, update_content):
# 開啟xml文件
doc = ET.parse(xml_path)
root = doc.getroot()
# 查詢修改路勁
sub1 = root.find(xml_dw)
# 修改標籤內容
sub1.text = update_content
# 儲存修改
doc.write(xml_path)
 
# 欲修改檔案
xml_path = r'test.xml'
 
# 修改檔案中的xpath定位
xml_dw = './/country[@name="Singapore"]/year'
 
# 想要修改成什麼內容
update_content = '9999'
change_one_xml(xml_path, xml_dw, update_content)

執行完畢之後,我們可以看到原始檔內容變成了;

< data>
< country name="Liechtenstein">
< rank>yunweijia< /rank>
< year>2022< /year>
< gdppc>141100< /gdppc>
< neighbor name="Austria" direction="E" />
< neighbor name="Switzerland" direction="W" />
< /country>
< country name="Singapore">
< rank>yunweijia< /rank>
< year>9999< /year>
< gdppc>59900< /gdppc>
< neighbor name="Malaysia" direction="N" />
< /country>
< country name="Panama">
< rank>yunweijia< /rank>
< year>2024< /year>
< gdppc>13600< /gdppc>
< neighbor name="Costa Rica" direction="W" />
< neighbor name="Colombia" direction="E" />
< /country>
< /data>

到此這篇關於python實現修改xml檔案內容的文章就介紹到這了

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2909927/,如需轉載,請註明出處,否則將追究法律責任。

相關文章