python读取三级目录式 xml 文件

xml文件格式:



    
        
        
        
        
    

可以看到呈现三级目录:TrainingImages-Items-Item

现在要完成的任务是:

将imageName和colorID中的内容提取出来放在一个txt文件中;

我们事先准备好一个value.txt文件和py文件在同一目录下;

涉及的知识点有:

  • 读取xml格式文件
  • 通过循环语句向txt文件中写入内容

上代码:

import os
import sys
import  xml.dom.minidom

dom=xml.dom.minidom.parse('train_label.xml')    #获取xml文件的dom树

root=dom.documentElement    #获取根节点,也就是TrainingImages中的内容

Items=root.getElementsByTagName('Items')    #获取Items的内容

Item=Items[0]    #第一个元素中保存在其中的内容,这一步要注意

its=Item.getElementsByTagName('Item')    #获取具体的Item

print(len(its))    #打印出长度,如示例中有4个数据,就有四个

filename = 'value.txt'    #要写入的txt文件名

with open(filename,'w') as f:    #将txt写入操作放在循环之前,实现循环写入
	for it in its:
		name=it.getAttribute("imageName")    #获取xml子标题的属性值
		color=it.getAttribute("colorID")
		f.write(name)
		f.write(" ")
		f.write(color)
		f.write("\n")
	print("ok")

如上代码+注释,可以通过dir()、len()、type()等操作进行尝试探寻变量类型及属性

你可能感兴趣的:(python)