python读写xml文件

来源:互联网 发布:淘宝联盟做什么的 编辑:程序博客网 时间:2024/06/05 21:53

onfig.xml文件如下:

<?xml version="1.0" standalone="yes" ?>
<CONFIG_LIST>
 <COMP NAME="oracle.assistants.netca.client" VER="11.2.0.1.0" PLAT="NT_X86">
    <path value="/opt/imap/lib" />
    <path value="/opt/imap/med/lib1" />
    <path value="/opt/imap/med/lib2" />
    <path value="/opt/imap/med/lib3" />
    <path value="/opt/imap/med/lib4" />
 </COMP>
</CONFIG_LIST>

 

1、读xml文件

[python] view plaincopy
  1. # -*- coding: gb18030 -*-     
  2.   
  3. #获取 path下得value属性集合,并进行替换          
  4. def get_tagname():     
  5.     from xml.dom.minidom import parse, parseString  
  6.     doc = parse("f:\\config.xml")    
  7.     for node in doc.getElementsByTagName("path"):     
  8.         value_str = node.getAttribute("value")  
  9.         if value_str.find("/med/")>0:  
  10.             print value_str.replace('/opt/imap/',"/opt/oss/")  
  11.         else:  
  12.             print value_str   
  13.   
  14. get_tagname()  


  

2、生成xml文件

[python] view plaincopy
  1. # -*- coding: gb18030 -*-     
  2. #生成xml文件         
  3. def GenerateXml():  
  4.   import xml.dom.minidom  
  5.   impl = xml.dom.minidom.getDOMImplementation()  
  6.   dom = impl.createDocument(None'CONFIG_LIST'None)  
  7.   root = dom.documentElement    
  8.   employee = dom.createElement('COMP')  
  9.   root.appendChild(employee)  
  10.     
  11.   nameE=dom.createElement('path')  
  12.   nameT=dom.createTextNode('linux')  
  13.     
  14.   nameE.appendChild(nameT)  
  15.   nameE.setAttribute("value","aaaaaaaaaaa"#增加属性  
  16.   employee.appendChild(nameE)  
  17.     
  18.   
  19.   f= open('f:\\config_new.xml''a')  
  20.   dom.writexml(f, addindent='  ', newl='\n')  
  21.   f.close()    
  22.   
  23. GenerateXml()  



生成的config_new.xml如下:

<?xml version="1.0" ?>
<CONFIG_LIST>
  <COMP>
    <path value="aaaaaaaaaaa">
      linux
    </path>
  </COMP>
</CONFIG_LIST>           

0 0