python写xml文件的操作

用Python生成XML文件
本文介绍了一种使用Python的minidom模块来创建特定格式XML文件的方法。通过逐步构建XML结构,展示了如何添加注释、元素及属性等,最终输出格式化的XML内容。
 python写xml文件的操作

    2012-05-29 13:54:38     我来说两句       
    收藏    我要投稿

    要生成的xml文件格式如下:
    [python]
    <?xml version="1.0" ?>
    <!--Simple xml document__chapter 8-->
    <book>
        <title>
            sample xml thing
        </title>
        <author>
            <name>
                <first>
                    ma
                </first>
                <last>
                    xiaoju
                </last>
            </name>
            <affiliation>
                Springs Widgets, Inc.
            </affiliation>
        </author>
        <chapter number="1">
            <title>
                First
            </title>
            <para>
                I think widgets are greate.You should buy lots of them forom
                <company>
                    Spirngy Widgts, Inc
                </company>
            </para>
        </chapter>
    </book>

    代码:
    [python]
    from xml.dom import minidom, Node
     
    doc = minidom.Document()
     
    doc.appendChild(doc.createComment("Simple xml document__chapter 8"))
     
    #generate the book
    book = doc.createElement('book')
    doc.appendChild(book)
     
    #the title
    title = doc.createElement('title')
    title.appendChild(doc.createTextNode("sample xml thing"))
    book.appendChild(title)
     
    #the author section
    author = doc.createElement("author")
    book.appendChild(author)
    name = doc.createElement('name')
    author.appendChild(name)
    firstname = doc.createElement('first')
    firstname.appendChild(doc.createTextNode("ma"))
    name.appendChild(firstname)
    lastname = doc.createElement('last')
    name.appendChild(lastname)
    lastname.appendChild(doc.createTextNode("xiaoju"))
     
    affiliation = doc.createElement("affiliation")
    affiliation.appendChild(doc.createTextNode("Springs Widgets, Inc."))
    author.appendChild(affiliation)
     
    #The chapter
    chapter = doc.createElement('chapter')
    chapter.setAttribute('number', '1')
    title = doc.createElement('title')
    title.appendChild(doc.createTextNode("First"))
    chapter.appendChild(title)
    book.appendChild(chapter)
     
    para = doc.createElement('para')
    para.appendChild(doc.createTextNode("I think widgets are greate.\
    You should buy lots of them forom"))
    company = doc.createElement('company')
    company.appendChild(doc.createTextNode("Spirngy Widgts, Inc"))
    para.appendChild(company)
    chapter.appendChild(para)
     
     
    print doc.toprettyxml()

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值