修改xml中的字段值 分类: xml python 小练习 2014-03-13 12:00 276人阅读 评论(0) 收藏

py手册:http://docs.python.org/2/library/xml.etree.elementtree.html

xml内容如下:

<ChannelInfoService>
    <channels>
        <channel billEndDate="3000-01-01 00:00:00" billIsBill="true" billStartDate="1970-01-01 00:00:00" billingId="38352" billingName="http://redirect.baishitong.ccgslb.com.cn" channelId="53841" channelName="redirect.baishitong.ccgslb.com.cn" channelType="HTTP" endDate="3000-01-01 00:00:00" hasPeerLog="false" internalIp="255.255.255.255" pubAbroadConfigNodeIds="000" pubCompressType="gz" pubConfigNodeIds="000" pubContinueDays="31" pubCustEmail="email@email.com" pubEndDate="3000-01-01 00:00:00" pubFileNameDetail="fileNameDetail" pubFileNameFlag="OLD" pubFormatType="w3c_domain" pubFtpDir="/" pubFtpIp="255.255.255.255" pubFtpPassword="password" pubFtpPort="21" pubFtpUser="user" pubHasHeader="true" pubHeaderStr="#" pubIsFilter="true" pubIsIncremenal="false" pubIsPub="false" pubIsSplit="false" pubLimitTime="23" pubLogDelayHour="4" pubLogHourInterval="24" pubLogIdentifier="cc" pubLogIsSort="true" pubMergeType="ALL" pubMimeFilter="image" pubPriority="P5" pubReceiveSaveDay="12" pubResultSaveDay="31" pubSplitSize="100" pubStartDate="1970-01-01 00:00:00" pubSwitchEndDate="2021-04-12 00:00:00" pubSwitchStartDate="2011-04-12 00:00:00" pubUrlFilter="gif,jpg,jpeg,png,bmp,ico,swf" pubWay="HTTP" recordVersion="2011-12-29 16:59:11" startDate="1970-01-01 00:00:00" statEndDate="3000-01-01 00:00:00" statIsStat="true" statNeedUrlday="false" statNotstolenPattern=".*" statStartDate="1970-01-01 00:00:00" userId="2711" userName="Jane" />
 	</channels>
</ChannelInfoService>

将userName的值Jane修改为SAM:

#coding:utf-8

import xml.etree.ElementTree as ET
import sys

def main():

    # 加载并且解析这个 XML,也可以使用 tree = ET.ElementTree(file='doc1.xml')将整个 XML 解析为一棵树
    tree = ET.parse(r"G:\LogPubChannelConfig.xml")

    # 获得根结点元素
    root=tree.getroot()

    #iter 方法可以对子结点进行深度优先遍历
    #也可以接受一个标签名字,只遍历指定标签的元素
    for elem in tree.iter(tag='channel'):
        #修改 元素的值
        elem.attrib['userName']="SAM"

    #将xml写入原文件
    tree.write(r"G:\LogPubChannelConfig.xml")

if __name__ == '__main__':
    main()



版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2014-03-13 12:00  前行者2011  阅读(212)  评论(0编辑  收藏  举报