美文网首页js css html
Python编程练习6:利用Python创建xml文件

Python编程练习6:利用Python创建xml文件

作者: 汲之郎 | 来源:发表于2022-09-23 04:52 被阅读0次

    XML是指可扩展标记语言,是一种简单的数据存储语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

    以下是示例test.xml代码

    <?xml version="1.0" encoding="utf-8"?>  
    <catalog>  
        <maxid>aaa</maxid>  
        <login username="test" passwd='123456'>  
            <caption>PythonTest</caption>  
            <item >  
                <caption>测试XML</caption>  
            </item>  
        </login>  
        <item >  
            <caption>cat</caption>  
        </item>  
    </catalog>
    

    看起来很像html超文本标记语言。

    xml里面主要有标签对<aa></aa>组成,标签可以添加属性<aa id='test'></aa>,标签中间可以添加数据,标签和嵌套标签。

    python处理xml有三种方法,DOM,SAX,ElementTree
    ElementTree 方式几乎兼具了 DOM 方式与 SAX 方式的优点,占用内存较小、速度较快、使用也较为简单。我们也就学习ElementTree的使用方法。

    ElementTree是python的XML处理模块,它提供了一个轻量级的对象模型。它在Python2.5以后成为Python标准库的一部分,但是Python2.4之前需要单独安装。在使用ElementTree模块时,需要import xml.etree.ElementTree的操作。

    ElementTree表示整个XML节点树,而Element表示节点数中的一个单独的节点。
    ElementTree(tag),其中tag表示根节点,初始化一个ElementTree对象。
    Element(tag, attrib={}, **extra)函数用来构造XML的一个根节点,其中tag表示根节点的名称,attrib是一个可选项,表示节点的属性。
    SubElement(parent, tag, attrib={}, **extra)用来构造一个已经存在的节点的子节点
    Element.text和SubElement.text表示element对象的额外的内容属性,Element.tag和Element.attrib分别表示element对象的标签和属性。
    ElementTree.write(file, encoding='us-ascii', xml_declaration=None, default_namespace=None, method='xml'),函数新建一个XML文件,并且将节点数数据写入XML文件中。

    首先生成一个简单的xml文件,代码如下所示:

    from xml.etree import ElementTree as et
    # 创建根标签
    root = et.Element('home')
    # 创建子标签大儿子
    son1 = et.SubElement(root,'son',attrib={'name':'son01'})
    # 创建小儿子
    son2 = et.SubElement(root,'son',attrib={'name':'son02'})
    
    #在大儿子中创建孙子
    gdson = et.SubElement(son1,'gdson',attrib={'name':'gdson1'})
    
    #把root节点放到根节点
    tree = et.ElementTree(root)
    #保存xml
    tree.write('home.xml',encoding = 'utf-8')
    
    03.png

    相关文章

      网友评论

        本文标题:Python编程练习6:利用Python创建xml文件

        本文链接:https://www.haomeiwen.com/subject/luowortx.html