Python xml creating SubElements with multiple <br />
08:35 13 May 2014

I'm building some XML in Python. From a source string and I need to replace \r with break (
). The string may have several breaks.

I'm trying to get following results:

Hello
world
I love you

from the following string:

'Hello\rworld\rI love you.'

I've looked at SubElement(, 'br') and I've looked into using CDATA.

Example:

from xml.etree.cElementTree import Element, SubElement, tostring                               

def add_xml_data(value):
    data = Element('foo')
    val_node = SubElement(data, 'bar')
    val_node.text = value
    val = value.strip('\r')
    parts = val.split('\r')
    for part in parts:
        br = SubElement(val_node, 'br')
    return data

value = 'Hello\rworld\rI love you.'
print tostring(add_xml_data(value))
python xml