zoukankan      html  css  js  c++  java
  • xml处理模块

    几乎所有语言都支持xml,python也不例外,目前xml渐渐被json所取代,但是仍有一些行业和系统在使用,简单介绍下python处理xml

    import  xml.etree.ElementTree as ET

    tree = ET.parse("xml文件") #读取xml文件
    root = tree.getroot() #获取xml对象
    print(root.tag) #获取xml根

    #遍历xml
    for child in root:
    print(child.tag,child.attrib)
    for i in child:
    print(i.tag,i.attrib,i.text)

    #只遍历某个节点
    for node in root.iter("节点名"):
    print(node.tag,node.text)

    #修改xml文档内容

    for node in root.iter("节点名"):
    node.text = "内容" #修改内容
    node.set("属性名称","属性内容") #添加一个属性
    tree.write("xml文件") #写会文件

    #删除node
    for node in root.findall("节点名"):
    root.remove("节点") #删除一个属性
    tree.write("xml文件") #写会文件

    写xml文件:
    new_xml = ET.Element("namelist")   #根节点
    name = ET.SubElement(new_xml, "name" ,attrib = {"enrolled":"yes"}) #new_xml的子节点
    age = ET.SubElement(name, "age" , attrib = {"checked":"no"}) #name的子节点
    sex = ET.SubElement(name, "sex")
    age.text = '33' #赋值
    name2 = ET.SubElement(new_xml, "name" ,attrib = {"enrolled":"no"}) #new_xml的子节点
    age = ET.SubElement(name2,"age")

    et = ET.ElementTree(new_xml) #生成文档对象
    et.write("test.xml",encoding="utf-8",xml_declaration=True)

    ET.dump(new_xml) #打印生成的格式
  • 相关阅读:
    verilog RTL编程实践之四
    TB平台搭建之二
    hdu3466 Proud Merchants
    poj2411 Mondriaan's Dream (用1*2的矩形铺)
    zoj3471 Most Powerful
    poj2923 Relocation
    hdu3001 Travelling
    poj3311 Hie with the Pie
    poj1185 炮兵阵地
    poj3254 Corn Fields
  • 原文地址:https://www.cnblogs.com/hqd2008/p/7689043.html
Copyright © 2011-2022 走看看