簡體   English   中英

如何刪除空xml標記中的多余空間

[英]How can I remove extra space in empty xml tags

我有一個xml文件,我正在其中尋找特定標簽(例如:tag <x> ),如果找到他,我會將其值替換/更新為特定文本(例如: test )。

Python版本3.5.0。

樣本xml文件:

<root>
 <a/>
 <b>0</b>
 <c/>
 <x>some value</x>
</root>

這是我的代碼:

from xml.etree import ElementTree as et

datafile = 'input.xml'     # path to the source xml file
datafile_out = 'output.xml'    # path to the updated xml
tree = et.parse(datafile)
tree.find('.//x').text ='TEST'  # find <x> tag and write there value "TEST"
tree.write(datafile_out)    #generating updated xml file

這是我的輸出:

<root>
 <a />
 <b>0</b>
 <c />
 <x>TEST</x>
</root>

一切正常。

但是我的問題是空標記中有多余的空間:輸入名稱xml中不存在的標記名稱“ a”“斜杠”之間的<a />

我正在使用帶有大量空標簽的大型xml文件,因此每個額外的空間都會使該文件更大。

有什么辦法可以停止ElementTree.write()添加額外的空間?

注意:我想使用Python中的內置模塊,而不要安裝第三方解決方案。

非常感謝您的建議!

您是否嘗試過使用正則表達式。

舉個例子:

yourXmlAsString.replaceAll(“> \\ s * <”,“> <”); 將刪除每個XML元素之間的所有空格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM