zoukankan      html  css  js  c++  java
  • 解析文件和字符串

    etree支持以多种方式和所有重要来源解析XML,即字符串、文件、url(http/ftp)和类文件对象
    主要的解析函数是fromstring()和parse(),都是以源作为第一个参数调用的
    默认情况下,它们使用标准解析器,但您始终可以将不同的解析器作为第二个参数传递

    fromstring()函数

    some_xml_data = "<root>data</root>"
    root = etree.fromstring(some_xml_data)
    print(root.tag)  #输出:root
    print(etree.tostring(root))  #输出:b'<root>data</root>'

    XML()函数

    root = etree.XML("<root>data</root>")
    print(root.tag) #输出:root
    print(etree.tostring(root)) #输出:aa

    HTML()函数

    root = etree.HTML("<p>data</p>")
    print(etree.tostring(root))  #输出:b'<html><body><p>data</p></body></html>'

    parse()函数

    该函数主要用于解析file或file-like对象

    from io import BytesIO
    some_file_or_file_like_object = BytesIO(b"<root>data</root>")
    tree = etree.parse(some_file_or_file_like_object)
    etree.tostring(tree) #输入:b'<root>data</root>'
    
    root = tree.getroot()
    print(root.tag)  #输出:root
    print(etree.tostring(root))  #输出:b'<root>data</root>'

    parse()从文件返回完整的文档,而字符串解析函数通常用于解析xml片段

    parse()函数支持以下source的解析
    file-like对象(要确保它是字节模式)
    包含read(byte_count)方法的file-like对象,该方法每次调用都会返回一个字节字符串(byte string)
    文件名字符串
    HTTP或FTP URL字符串


    处理文件名和URL的速度要比处理file-like对象或文件要快

  • 相关阅读:
    (转载)微软数据挖掘算法应用场景介绍
    (转载)微软数据挖掘算法:Microsoft 目录篇
    (转载)微软数据挖掘算法:Microsoft 线性回归分析算法(11)
    (转载)微软数据挖掘算法:Microsoft 神经网络分析算法(10)
    js分页
    预下载图片,避免图片闪烁
    http协议
    解决&#65279产生的空白行
    兼容ie浏览器的方法
    网站加载速度慢的原因
  • 原文地址:https://www.cnblogs.com/shiliye/p/11835419.html
Copyright © 2011-2022 走看看