xml的格式如下,就是通过<>节点来区别数据结构的:
2 2008 141100 5 2011 59900 69 2011 13600
xml协议在各个语言里的都 是支持的,在python中可以用以下模块操作xml
import xml.etree.ElementTree as ETtree = ET.parse("xmltest.xml")
root = tree.getroot()
print(root.tag)#遍历xml文档
for child in root:print(child.tag, child.attrib)for i in child:print(i.tag,i.text)#只遍历year 节点
for node in root.iter('year'):print(node.tag,node.text)
修改和删除xml文档内容
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
1 import xml.etree.ElementTree as ET 2 3 tree = ET.parse("xmltest.xml") 4 root = tree.getroot() 5 6 #修改 7 for node in root.iter('year'): 8 new_year = int(node.text) + 1 9 node.text = str(new_year) 10 node.set("updated","yes") 11 12 tree.write("xmltest.xml") 13 14 15 #删除node 16 for country in root.findall('country'): 17 rank = int(country.find('rank').text) 18 if rank > 50: 19 root.remove(country) 20 21 tree.write('output.xml')
自己创建xml文档
import xml.etree.ElementTree as ETnew_xml = ET.Element("namelist") personinfo = ET.SubElement(new_xml,"personinfo",attrib={ "enrolled":"yes"}) name = ET.SubElement(personinfo,"name") name.text = ''Mr Sun'' age = ET.SubElement(personinfo,"age",attrib={ "checked":"no"}) sex = ET.SubElement(personinfo,"sex") age.text = '33' personinfo2 = ET.SubElement(new_xml,"personinfo",attrib={ "enrolled":"no"}) name = ET.SubElement(personinfo2,"name") name.text = ''Mis Chen'' age = ET.SubElement(personinfo2,"age") age.text = '19'et = ET.ElementTree(new_xml) #生成文档对象 et.write("test.xml", encoding="utf-8",xml_declaration=True)ET.dump(new_xml) #打印生成的格式