Skip to content Skip to sidebar Skip to footer

How To Convert An Xml Element Object Into A String With A Namespace Prefix In Python?

I have a following code: from lxml.etree import tostring, Element, SubElement element = Element('mytag') sub_element = SubElement(element, 'mysubtag') print(tostring(element, prett

Solution 1:

Use register_namespace() to associate the prefix with a namespace URI and use that URI when creating elements.

from lxml import etree

NS = "http://www.example.com"
etree.register_namespace("mynspref", NS)

element = etree.Element('{%s}mytag' % NS)
sub_element = etree.SubElement(element, '{%s}mysubtag' % NS)

print(etree.tostring(element, pretty_print=True).decode('utf-8'))

Result:

<mynspref:mytag xmlns:mynspref="http://www.example.com">
  <mynspref:mysubtag/>
</mynspref:mytag>

Post a Comment for "How To Convert An Xml Element Object Into A String With A Namespace Prefix In Python?"