在Python中读写独特的XML标签

时间:2013-04-04 02:43:47

标签: python xml parsing

我想用这种XML格式的.txt文件:

<?xml version = ""?>
<data>
    <a1>cat</a1>
    <a5>bird</a5>
    <a4>window</a4>
</data>

计算每个字符串的长度并输出:

<?xml version = ""?>
<result>
    <r1>3</r1>
    <r5>4</r5>
    <r4>6</r4>
</result>

使用上面的输出和相应的标签编写.txt xml格式文件的最佳方法是什么?我正在使用xml.etree.cElementTree来解析它。

1 个答案:

答案 0 :(得分:0)

import xml.etree.ElementTree as ET
import re
xdata = '''
<data>
    <a1>cat</a1>
    <a5>bird</a5>
    <a4>window</a4>
</data>'''
root = ET.fromstring(xdata)

for apptag in root.findall("*"):
    apptag.text = str(len(apptag.text))
    apptag.tag = re.sub(r'^a(.*)',r'r\1',apptag.tag)
root.tag = 'result'
ET.ElementTree(root).write('test.xhtml')