xml文件读取与编写

Xml文件读取与编写

xml文件一般如下所示,<>为node;有可能还有属性Attribute,一般网页中会有,我们只是存储信息,就没有涉及,例如;

<annotation>
    <folder>VOC2007</folder>
    <filename>test_1.jpg</filename>
    <size>
        <width>1920</width>
        <height>2560</height>
        <depth>3</depth>
    </size>
    <object>
        <name>object</name>
        <pose>Unspecified</pose>
        <truncated>0</truncated>
        <difficult>0</difficult>
        <bndbox>
            <xmin>457</xmin>
            <ymin>436</ymin>
            <xmax>574</xmax>
            <ymax>526</ymax>
        </bndbox>
    </object>
</annotation>
xml文件读取

标配代码如下,加载包,加载文件:

from xml.dom.minidom import parse  #加载包
domTree = parse("./customer.xml")
# 文档根元素
rootNode = domTree.documentElement

1、按照节点名称查找

# 通过名称object获取属性值
list1 = rootNode.getElementsByTagName("object")

此时得到是一个node list
2、子节点查找

child = list1[0].childNodes

注意:
1、object子节点为name、…、bndbox等。
2、这里也可以继续搜按照名字搜list1[0].getElementsByTagName(“xmin”)
3、我们要想打印节点内的text需要对节点继续找子节点list1[0].getElementsByTagName(“xmin”).childNodes[0].value

xml文件写入

1、创建一个节点,设置属性

# 新建一个customer节点
customer_node = domTree.createElement("customer")
customer_node.setAttribute("ID", "C003")

2、子节点

# 创建name节点,并设置textValue
name_node = domTree.createElement("name")
name_text_value = domTree.createTextNode("kavin")
name_node.appendChild(name_text_value)  # 把文本节点挂到name_node节点
customer_node.appendChild(name_node)

得到如下:

<customer ID="C003">
    <name>kavin</name>
  </customer>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值