节点序列化

淺唱寂寞╮ 提交于 2019-12-02 19:21:07
from lxml import etree

root = etree.XML('<root><a><b/></a></root>')
print(etree.tostring(root))
#输出:b'<root><a><b/></a></root>'

print(etree.tostring(root, xml_declaration=True))
#输出: <?xml version='1.0' encoding='ASCII'?>
#       <root><a><b/></a></root>

print(etree.tostring(root, encoding='iso-8859-1'))
#输出: <?xml version='1.0' encoding='iso-8859-1'?>
#       <root><a><b/></a></root>

print(etree.tostring(root, pretty_print=True))
'''输出:
    <root>
      <a>
        <b/>
      </a>
    </root>
'''

root = etree.XML('<html><head/><body><p>Hello<br/>World</p></body></html>')
print(etree.tostring(root))
#输出: b'<html><head/><body><p>Hello<br/>World</p></body></html>'

print(etree.tostring(root, method='xml'))
#输出: b'<html><head/><body><p>Hello<br/>World</p></body></html>'

print(etree.tostring(root, method='html'))
#输出: b'<html><head></head><body><p>Hello<br>World</p></body></html>'

print(etree.tostring(root, method='html', pretty_print=True))
'''输出: 
<html>
    <head></head>
    <body><p>Hello<br>World</p></body>
</html>
'''

print(etree.tostring(root, method='text'))
#输出: b'HelloWorld'

br = next(root.iter('br'))
br.tail = u'W\xf6rld'
etree.tostring(root, method='text')
#输出: 报错,因为编码默认是ascii,而不是unicode

print(etree.tostring(root, encoding='unicode', method='text'))
#输出:HelloWörld

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!