0
我有類似下面的XML字符串:重寫XML和保存方面
xml = """
<body>
<head>1. Un livre sur <persName type="author" key="Ronsard, Pierre de (1524-1585)" ref="http://www.idref.fr/027107957">Ronsard</persName></head>
<head>2. <title>La pitié des églises</title> par <persName key="Barrès, Maurice (1862-1923)" ref="http://www.idref.fr/026706601" type="author">Barrès</persName></head>
</body>
"""
我有一些函數調用processLine(line)
這需要一整行(內<head>
文本沒有標籤),在我的情況下,這兩條線將由processLine
函數進行處理:
1. Un livre sur Ronsard
2. La pitié des églises par Barrès
並連接某些字符串到每一行的某些詞,例如:
"Ronsard" becomes "Ronsard I-PER"
"Barrès" becomes "Barrès I-PER"
下面是使用Python的etree庫到目前爲止,我已經取得了代碼:
from lxml import etree
root = etree.fromstring(xml)
pars = root.xpath('//body//head')
for par in pars:
line = par.text # return the line stripped from tags
processLine(line)
我的問題:我如何保存在XML文件中的變化,而不失去其結構?
即:在我爲例我的新的XML文件將變爲:
newxml = """
<body>
<head>1. Un livre sur <persName type="author" key="Ronsard, Pierre de (1524-1585)" ref="http://www.idref.fr/027107957">Ronsard I-PER</persName></head>
<head>2. <title>La pitié des églises</title> par <persName key="Barrès, Maurice (1862-1923)" ref="http://www.idref.fr/026706601" type="author">Barrès I-PER</persName></head>
</body>
"""