WEB开发网
开发学院软件开发Python 可爱的 Python:DOM 的动态性 阅读

可爱的 Python:DOM 的动态性

 2007-03-29 12:02:41 来源:WEB开发网   
核心提示: 如上图所示,DOM 从一个更加抽象的角度定义了一组可以遍历、修剪、改组、输出和操作树的方法,可爱的 Python:DOM 的动态性(2),而这种方法要比 XML 文档的线性表示更为便利,将 HTML 转换成 XML有效的 HTML 几乎就是有效的 XML,然后对该实例进行操作,DOM 实例

如上图所示,DOM 从一个更加抽象的角度定义了一组可以遍历、修剪、改组、输出和操作树的方法,而这种方法要比 XML 文档的线性表示更为便利。

将 HTML 转换成 XML

有效的 HTML 几乎就是有效的 XML,但又不完全相同。这里有两个主要的差异,XML 标记是区分大小写的,并且所有 XML 标记都需要一个显式的结束符号(作为结束标记,而这对于某些 HTML 标记是可选的;例如: <img src=http://tech.ddvip.com/2007-03/"X.png" /> )。使用 xml.dom 的一个简单示例就是使用 HtmlBuilder() 类将 HTML 转换成 XML。

try_dom1.py    """Convert a valid HTML document to XML
  USAGE: python try_dom1.py < infile.html > outfile.xml
"""
    
     import
     sys
     from
     xml.dom
     import
     core
     from
     xml.dom.html_builder
     import
     HtmlBuilder
    # Construct an HtmlBuilder object and feed the data to it
b = HtmlBuilder()
b.feed(sys.stdin.read())
    # Get the newly-constructed document object
doc = b.document
    # Output it as XML
    
     print
     doc.toxml()

HtmlBuilder() 类很容易实现它继承的部分基本 xml.dom.builder 模板的功能,它的源码值得研究。然而,即使我们自己实现了模板功能,DOM 程序的轮廓还是相似的。在一般情况下,我们将用一些方法构建一个 DOM 实例,然后对该实例进行操作。DOM 实例的 .toxml() 方法是一种生成 DOM 实例的字符串表示的简单方法(在以上的情况中,只要在生成后将它打印出来)。

上一页  1 2 3 4 5  下一页

Tags:可爱 Python DOM

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接