Python读xml

这篇具有很好参考价值的文章主要介绍了Python读xml。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python读xml

之前用过c++读xml,太困难了,可以参考这篇文章c++读xml,python就相对容易些。
python读xml的方法比较多,下面就介绍两种。
1、xml.dom.minidom

import glob
import xml.dom.minidom
for xmlPath in glob.glob("../asset/xml" + "/*.xml"):
    print(xmlPath)
    dom = xml.dom.minidom.parse(xmlPath)
    root = dom.documentElement
    itemList = root.getElementsByTagName('data')
    ## 内参
    data = itemList[0].firstChild.data
    print(data)

代码会循环读取项目根目录下/asset/xml文件夹里面所有的类型为xml的文件。
这样可以依据getElementsByTagName得到整个xml中标签为data的值,但是这样读出来的对象都是str类型的,遇到读opencv矩阵就很麻烦,所以可以用opencv来读
xml中矩阵如下

<mat type_id="opencv-matrix">
  <rows>3</rows>
  <cols>3</cols>
  <dt>d</dt>
  <data>
    7.6771045506683436e+02 0. 3.0315526341908003e+02 0.
    7.6771045506683436e+02 2.4620553442166459e+02 0. 0. 1.</data></mat>
<distCoeff type_id="opencv-matrix">

2、opencv

for xmlPath in glob.glob("../asset/xml" + "/*.xml"):
    print(xmlPath)
    cv_file = cv2.FileStorage(xmlPath, cv2.FILE_STORAGE_READ)
    matrix = cv_file.getNode("mat").mat()
    print("read matrix\n", matrix)
    cv_file.release()

这样得到的matrix 就是矩阵,就可以用下标来访问了。文章来源地址https://www.toymoban.com/news/detail-586820.html

到了这里,关于Python读xml的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python读取一个csv文件并转换为Numpy矩阵

    利用pandas库读取,转为numpy矩阵 注意读取csv文件时第一行数据默认不读,因此需要给csv加一行。   运行结果  

    2024年02月12日
    浏览(40)
  • 【赛码】python【输入输出】读取未给出行列数的矩阵,并转置输出。

    输入描述: 对于一个n*m的矩阵,输入有n行,每行是m个以空格分隔的数字。 输出描述: n*m矩阵的转置矩阵。输出m行,每行是n个空格分隔的数据。 样例输入 1 2 3 4 5 6 样例输出 1 4 2 5 3 6   解决思路: 将输入转为列表嵌套格式,然后根据转置位置索引输出  

    2024年02月16日
    浏览(46)
  • python:转换维度、reshape、灰度拉伸、矩阵线性插值、gdal读取tiff图

    【Pnet原型网络】【】  【灰度拉伸】  【对矩阵做线性插值】 【 Totensor()函数 】 ToTensor()将shape为(H, W, C)的nump.ndarray或img转为shape为(C, H, W)的tensor, 其将每一个数值归一化到[0,1] ,其归一化方法比较简单,直接除以255即可。具体可参见如下代码: import torchvision.transforms as tr

    2023年04月08日
    浏览(40)
  • 38.Python从入门到精通—Python3 XML 解析 什么是 XML Python 对 XML 的解析

    XML(可扩展标记语言)是一种用于描述数据的标记语言,它可以用于表示各种类型的数据,包括文本、图像、音频、视频等。XML 的语法类似于HTML,但它更加灵活,可以自定义标记,并且不依赖于任何特定的应用程序或操作系统。 XML的基本结构由元素、属性和文本组成。元素

    2024年04月11日
    浏览(36)
  • Python基础篇(一):如何使用PyCharm创建第一个Python项目(包含tools)

    环境 版本 Python 3.11.4 PyCharm 2023.1.2 OS windows10 PyCharm是一款由JetBrains开发的强大的Python集成开发环境(IDE)。它提供了丰富的功能和工具,旨在提高Python开发者的生产力和效率。以下是PyCharm的一些主要特点和功能: 代码编辑和智能感知:PyCharm提供了先进的代码编辑器,具有语

    2024年02月11日
    浏览(54)
  • 【Python--XML文件读写】XML文件读写详解

    1.1 介绍 XML 指可扩展标记语言XML ,常被设计用来传输和存储数据。 XML 是一种固有的分层数据格式,最自然的表示方式是使用树。 ET为此有两个类 - ElementTree将整个 XML 文档表示为一棵树,并 Element表示该树中的单个节点。与整个文档的交互(从文件读取和写入/从文件写入)通

    2024年02月04日
    浏览(39)
  • python 之xml 使用原生xml.dom

    一、xml操作 使用xml进行创建 二、获取值、修改值 直接获取数据 通过父节点定义子节点 并获取值 重新赋值 添加子节点 三、将一个xml文档,插入另一文档中(将一个节点值插入另一个节点) 将一个xml文档某个元素插入另一个文档,插入另一文档中 将另个文档中的节点,插入指

    2024年02月07日
    浏览(38)
  • 解决python安装包需要Microsoft C++ Build Tools问题

    python在安装一些需要从C源码编译的包的时候会报错说你没有 Microsoft Visual C++ 14.0或者更高版本。 error: Microsoft Visual C++ 14.0 or greater is required. Get it with \\\"Microsoft C++ Build Tools\\\": https://visualstudio.microsoft.com/visual-cpp-build-tools/ 如果不想安装庞大的VS,可以选择只安装编译器组件Microsof

    2024年02月16日
    浏览(36)
  • Python读xml

    之前用过c++读xml,太困难了,可以参考这篇文章c++读xml,python就相对容易些。 python读xml的方法比较多,下面就介绍两种。 1、xml.dom.minidom 代码会循环读取项目根目录下/asset/xml文件夹里面所有的类型为xml的文件。 这样可以依据getElementsByTagName得到整个xml中标签为data的值,但是

    2024年02月16日
    浏览(34)
  • Python处理XML文件

    XML全称是Extensible Markup Language,中文名为可扩展标记语言。对xml的介绍可以看一下w3c的介绍。网络中数据传输的常见格式有json、xml、txt等。json很简单,xml稍微复杂,但是在python面前都不是事。 python有三种方式解析xml文档:SAX,DOM,以及 ElementTree(引自 菜鸟教程-Python XML解析

    2024年02月10日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包