• 节点序列化


    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'Wxf6rld'
    etree.tostring(root, method='text')
    #输出: 报错,因为编码默认是ascii,而不是unicode
    
    print(etree.tostring(root, encoding='unicode', method='text'))
    #输出:HelloWörld

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

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

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

  • 相关阅读:
    更新证书错误Code Sign error: Provisioning profile ‘XXXX'can't be found
    解决Xcode 5下使用SVN出现 The operation couldn’t be completed. (NSURLErrorDomain error -1012.) 问题
    Android模拟器启动不了解决办法
    在AndroidManifest.xml文件中设置Android程序的启动界面方法
    Windows2008+MyEclipse10+Android开发环境搭配
    ADT下载地址整理
    android:inputType常用取值
    VS2010中使用Jquery调用Wcf服务读取数据库记录
    Linux手动安装netcore3.0
    StdOS之运行指示灯
  • 原文地址:https://www.cnblogs.com/shiliye/p/11760303.html
Copyright © 2020-2023  润新知