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 = '' et = ET.ElementTree(new_xml) #生成文档对象
et.write('test.xml',encoding='utf-8',xml_declaration=True) ET.dump(new_xml) #打印生成格式

最新文章

  1. div高度根据内容自动增大
  2. 用jsmooth + inno生成exe并制作简单安装包
  3. 【BZOJ】3771: Triple
  4. 解析posix与perl标准的正则表达式区别
  5. Codeforces Round #370 (Div. 2) A B C 水 模拟 贪心
  6. 【HDOJ】1242 Rescue
  7. gwt中java与js的相互调用
  8. (转)Spring读书笔记-----使用Spring容器(二)
  9. hasOwnProperty方法的使用
  10. Python type类具体的三大分类:metaclasses,classes,instance
  11. boost log库
  12. ios UIImagePickerController简单说明
  13. MYSQL水平拆分与垂直拆分
  14. vpdn1
  15. .NET HttpGet 获取服务器文件下的图片信息 同步和异步方式处理
  16. 如何在Ubuntu上安装腾讯QQ
  17. html div+css做页面布局
  18. springboot学习之授权Spring Security
  19. python 数字格式化
  20. apk的php解析

热门文章

  1. 【LGR-062】洛谷10月月赛 III div.2 (A-C)
  2. php import require include use vendor
  3. 触发写Redo&amp;nbsp;Log的条件
  4. hdu 1693 : Eat the Trees 【插头dp 入门】
  5. MyCat的启动
  6. input的文件上传类型判断
  7. TreeView拖动并存入数据库(可判断拖动)
  8. LintCode之主元素
  9. (转)dial tcp 10.96.0.1:443: getsockopt: no route to host --- kubernetes(k8s)DNS 服务反复重启
  10. IBatis.Net 下使用SqlBulkCopy 大批量导入数据 问题解决