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>
"""