使用 python 2.6 中的 ElementTree 删除 xml 标记中的空格

Remove Whitespaces in an xml tag using ElementTree in python 2.6

我想删除 Enum 标签内的空格。它们实际上是新行(^$)。我在使用 ElemntTree 删除枚举标签内的子节点后得到了它们。

 <Enum name="Coupon Type" group="" defaultVal=""> </Enum>
 <Enum name="DayCountConvention" group="" defaultVal=""> </Enum>

遍历元素并将 text 属性设置为 None:

from xml.etree import ElementTree as etree

SOURCE = '''\
<root>
    <Enum name="Coupon Type" group="" defaultVal=""> </Enum>
    <Enum name="DayCountConvention" group="" defaultVal=""> </Enum>
</root>
'''

def main():
    root_node = etree.fromstring(SOURCE)
    for enum_node in root_node.findall('Enum'):
        enum_node.text = None
    print etree.tostring(root_node)


if __name__ == '__main__':
    main()

输出:

<root>
    <Enum defaultVal="" group="" name="Coupon Type" />
    <Enum defaultVal="" group="" name="DayCountConvention" />
</root>

如果仍有元素包含内容,您可能需要对其进行测试并设置空元素的 text