20180209-xml模块

Posted 土耳其大骗子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20180209-xml模块相关的知识,希望对你有一定的参考价值。

xml的用法操作如下:

  xml格式如下:

<?xml version="1.0"?>
<data>
    <country name="Liechtenstein">
        <rank updated="yes">2</rank>
        <year>2008</year>
        <gdppc>141100</gdppc>
        <neighbor name="Austria" direction="E"/>
        <neighbor name="Switzerland" direction="W"/>
    </country>
    <country name="Singapore">
        <rank updated="yes">5</rank>
        <year>2011</year>
        <gdppc>59900</gdppc>
        <neighbor name="Malaysia" direction="N"/>
    </country>
    <country name="Panama">
        <rank updated="yes">69</rank>
        <year>2011</year>
        <gdppc>13600</gdppc>
        <neighbor name="Costa Rica" direction="W"/>
        <neighbor name="Colombia" direction="E"/>
    </country>
</data>

 

  xml协议在各个语言中都是支持的,在python中可以使用如下模块操作xml

import xml.etree.ElementTree as ET  
                                    
tree = ET.parse(xmltest.xml)      
root = tree.getroot()               
print(root.tag)                     
# 输出                                
# data                              
                                    
# 遍历xml文档                           
for child in root:                  
    print(child.tag,child.attrib)   
# 输出                                
# country {‘name‘: ‘Liechtenstein‘} 
# country {‘name‘: ‘Singapore‘}     
# country {‘name‘: ‘Panama‘}        
                                    
for node in root:                   
    for child in node:              
        print(child.tag,child.text) 
# 输出                                
# rank 2                            
# year 2008                         
# gdppc 141100                      
# neighbor None                     
# neighbor None                     
                                    
# rank 5                            
# year 2011                         
# gdppc 59900                       
# neighbor None                     
                                    
# rank 69                           
# year 2011                         
# gdppc 13600                       
# neighbor None                     
# neighbor None                     
                                    
                                    
# 只遍历year节点                         
for node in root.iter(year):      
    print(node.tag,node.text)       
                                    
# 输出                                
# year 2008                         
# year 2011                         
# year 2011                         

  修改和删除xml文档

# 修改                             
for node in root.iter(year):   
    new_year = int(node.text) + 1
    node.text = str(new_year)    
    node.set(update,yes)     
tree.write(xmltest.xml)        
                                 
# 只遍历year节点                      
for node in root.iter(year):   
    print(node.tag,node.text)                              
# 输出                             
# year 2009                     
# year 2012                      
# year 2012

# 删除node
for country in root.findall(‘country‘):
rank = int(country.find(‘rank‘).text)
if rank > 50:
root.remove(country)

tree.write(‘output.xml‘)

  自己创建xml文档

import xml.etree.ElementTree as ET                            
                                                              
new_xml = ET.Element(namelist)                              
name = ET.SubElement(new_xml,name,attrib={enrolld: yes})
age = ET.SubElement(name,age,attrib={checed: no})       
sex = ET.SubElement(name,sex)                               
sex.text =                                                 
                                                              
name2 = ET.SubElement(new_xml,name,attrib={enrolld: no})
age = ET.SubElement(name2,age)                              
age.text = 19                                               
                                                              
et = ET.ElementTree(new_xml) #生成文档对象                          
et.write(test.xml,encoding=utf-8,xml_declaration=True)    
                                                              
ET.dump(new_xml) #打印生成格式                                      

 

以上是关于20180209-xml模块的主要内容,如果未能解决你的问题,请参考以下文章

如何有条件地将 C 代码片段编译到我的 Perl 模块?

CTS测试CtsWindowManagerDeviceTestCases模块的testShowWhenLockedImeActivityAndShowSoftInput测试fail项解决方法(代码片段

如何将字符串数据从活动发送到片段?

argparse 代码片段只打印部分日志

nodejs常用代码片段

常用python日期日志获取内容循环的代码片段