【python】模块——xml模块
示例html
<data> <country name="Liechtenstein"> <rank updated="yes">2</rank> <year updated="yes">2010</year> <gdppc>141100</gdppc> <neighbor direction="E" name="Austria" /> <neighbor direction="W" name="Switzerland" /> </country> <country name="Singapore"> <rank updated="yes">5</rank> <year updated="yes">2013</year> <gdppc>59900</gdppc> <neighbor direction="N" name="Malaysia" /> </country> </data>
一、常用方法
import xml.etree.ElementTree as html
1.解析方法——html.parse("html.html")
tree = html.parse("html.html") #解析文件html.html
2.取根节点getroot()
root = tree.getroot() #取根节点
3.每一个标签都被解析成一个对象,可以获取对象的属性,以root为例
(1)取节点名字root.tag
(2)取节点属性的键值对root.attrib
(3)取节点内容root.text
4.获取子节点
(1)获取特定的子节点
root.iter('year') #只获取<year>标签的内容
(2)遍历所有的标签——for iter in root:
二、xml模块的方法
import xml.etree.ElementTree as ET tree = ET.parse("xml_lesson") root = tree.getroot() # 修改 for node in root.iter('year'): new_year = int(node.text) + 1 node.text = str(new_year) node.set("updated", "yes") #updated为属性名 yes为属性值 tree.write("xml_lesson") #写入新文件,可以覆盖原文件 # 删除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") #创建namelist根标签 name = ET.SubElement(new_xml, "name", attrib={"enrolled": "yes"}) #创建name子标签,添加属性enrolled:="yes" age = ET.SubElement(name, "age", attrib={"checked": "no"}) sex = ET.SubElement(name, "sex") sex.text = '33' name2 = ET.SubElement(new_xml, "name", attrib={"enrolled": "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) # 打印生成的格式
三、应用
暂无
————————————————————结束————————————————————
浙公网安备 33010602011771号