使用 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
。
我想删除 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
。