用于重命名XML元素的Python

use*_*880 4 python xml

我有一个XML文件,我想编辑或重命名元素并保存文件.什么是最好的方法.XML文件如下

<breakfast_menu>
<food>
    <name>Belgian Waffles</name>
    <price>$5.95</price>
    <description>two of our famous Belgian Waffles with plenty of real maple syrup</description>
    <calories>650</calories>
</food>
<food>
    <name>Strawberry Belgian Waffles</name>
    <price>$7.95</price>
    <description>light Belgian waffles covered with strawberries and whipped cream</description>
    <calories>900</calories>
</food>
<food>
    <name>Berry-Berry Belgian Waffles</name>
    <price>$8.95</price>
    <description>light Belgian waffles covered with an assortment of fresh berries and whipped cream</description>
    <calories>900</calories>
</food>
<food>
    <name>French Toast</name>
    <price>$4.50</price>
    <description>thick slices made from our homemade sourdough bread</description>
    <calories>600</calories>
</food>
<food>
    <name>Homestyle Breakfast</name>
    <price>$6.95</price>
    <description>two eggs, bacon or sausage, toast, and our ever-popular hash browns</description>
    <calories>950</calories>
</food>
</breakfast_menu>
Run Code Online (Sandbox Code Playgroud)

如何将"描述"更改为"详细信息"?

Ori*_*eri 8

我建议你使用ElementTree来解析你的XML文档.

这是在python中处理XML文档的简单而最好的库.

这是一个示例代码:

import xml.etree.ElementTree as xmlParser
xmlDoc = xmlParser.parse('path to your xml doc')
rootElement = xmlDoc.getroot()

for element in rootElement.iter('description'):
    element.tag = 'details'

# Saving the xml
xmlDoc.write('path to your new xml doc')
Run Code Online (Sandbox Code Playgroud)


Raj*_*Raj -2

那么你有两个选择。如果 xml 很小,则可以使用纯字符串替换。如果 xml 非常大,那么我建议应用 xsl 转换。