How to prevent lxml prom compacting elements?
-
05-10-2019 - |
سؤال
Having following Python code:
>>> from lxml import etree
>>> root = etree.XML("<a><b></b></a>")
>>> etree.tostring(root)
'<a><b/></a>'
How can I force lxml to use "long" version?
Like
>>> etree.tostring(root)
'<a><b></b></a>'
المحلول
>>> import lxml.html
>>> html = lxml.html.fromstring('<a><b></b></a>')
>>> lxml.html.tostring(html)
'<a><b></b></a>'
Mixing works as well:
>>> from lxml import etree
>>> import lxml.html
>>> xml = etree.XML('<a><b/></a>')
>>> lxml.html.tostring(xml)
'<a><b></b></a>'
نصائح أخرى
Why do you want to? Both are equivalent in terms of XML's data model.
from the docs
http://lxml.de/tutorial.html#serialisation
from lxml import etree
xml = etree.XML('<a><b/></a>')
etree.tostring(xml, method='html')
'<a><b></b></a>'
لا تنتمي إلى StackOverflow