# 解析xml文件读取数据
# 将str转换为list
# 将list转换为matrix
# 将matrix每个元素从str转换为int
from xml.dom.minidom import parse
import numpy as np
import matplotlib.pyplot as plt
def readXML(mystr="depthImg190"):
domTree = parse("./%s.xml"%mystr)
# 文档根元素
rootNode = domTree.documentElement
print(rootNode.nodeName)
depthImg190 = rootNode.getElementsByTagName(mystr)
for depthImg in depthImg190:
if depthImg.hasAttribute("type_id"):
print("type_id:", depthImg.getAttribute("type_id"))
# data 元素
data = depthImg.getElementsByTagName("data")[0]
# print(data.nodeName, ":", data.childNodes[0].data)
return data.childNodes[0].data
if __name__ == '__main__':
rawData = readXML("depthImg212")
data = rawData.split()
myList = np.array(data)
print(len(myList))
myMatrix = np.resize(myList,(320,240)).astype(int)
print(myMatrix)
plt.matshow(myMatrix)
plt.show()
测试文件 需要的可以下载测试一下 跑通了再改成自己的html文件测试
目的:提取data里面的数据
步骤:
1.使用 parse 解析html文件
2.提取文档根元素
应该是这个里面的数据
3. depthImg190 = rootNode.getElementsByTagName(mystr)
提取这个里面的数据,只看左边一部分
4.if depthImg.hasAttribute(“type_id”)
判断上图右边的属性
4. data = depthImg.getElementsByTagName(“data”)[0]
提取data里面的数据