使用 xml.etree.ElementTree 在 Python 中简单遍历 dom

2023-12-05

例如。考虑解析一个pom.xml file:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <parent>
        <groupId>com.parent</groupId>
        <artifactId>parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <modelVersion>2.0.0</modelVersion>
    <groupId>com.parent.somemodule</groupId>
    <artifactId>some_module</artifactId>
    <packaging>jar</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>Some Module</name>
    ...

Code:

import xml.etree.ElementTree as ET

tree = ET.parse(pom)
root = tree.getroot()

groupId = root.find("groupId")
artifactId = root.find("artifactId")

Both groupId and artifactId are None。为什么他们是根的直系后代?我尝试更换root with tree (groupId = tree.find("groupId"))但这并没有改变任何事情。


问题是你don't有一个孩子名叫groupId,你有一个孩子,名叫{http://maven.apache.org/POM/4.0.0}groupId,因为 etree 不会忽略 XML 命名空间,所以它使用“通用名称”。看使用命名空间和限定名称在 effbot 文档中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 xml.etree.ElementTree 在 Python 中简单遍历 dom 的相关文章

  • 使用 openCV 对图像中的子图像进行通用检测

    免责声明 我是计算机视觉菜鸟 我看过很多关于如何在较大图像中查找特定子图像的堆栈溢出帖子 我的用例有点不同 因为我不希望它是具体的 而且我不确定如何做到这一点 如果可能的话 但我感觉应该如此 我有大量图像数据集 有时 其中一些图像是数据集的
  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • Python 中的二进制缓冲区

    在Python中你可以使用StringIO https docs python org library struct html用于字符数据的类似文件的缓冲区 内存映射文件 https docs python org library mmap
  • 扩展 XSD 文件

    我有一个带有枚举类型的 XSD 文件 我想创建一个 扩展 XSD 文件 它添加一些额外的枚举 但其他方面的行为就像主 XSD 一样 例如 主 XSD 文件包含以下内容
  • Abaqus 将曲面转化为集合

    我一直试图在模型中找到两个表面的中心 参见照片 但未能成功 它们是元素表面 面 查询中没有选项可以查找元素表面的中心 只能查找元素集的中心 找到节点集的中心也很好 但是我的节点集没有出现在工具 gt 查询 gt 质量属性选项中 而且我找不到
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • 在 Delphi 中使用 XML(将特定数据返回到变量)

    过去几天我一直在尝试使用 Delphi 2010 和 MSXML 我是一个极端的新手 需要一点指导 var MemoryStream TMemoryStream XMLPath String sName String XMLDoc vari
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 在Python中重置生成器对象

    我有一个由多个yield 返回的生成器对象 准备调用该生成器是相当耗时的操作 这就是为什么我想多次重复使用生成器 y FunctionWithYield for x in y print x here must be something t
  • XSD 嵌套元素

  • 如何从没有结尾的管道中读取 python 中的 stdin

    当管道来自 打开 时 不知道正确的名称 我无法从 python 中的标准输入或管道读取数据 文件 我有作为例子管道测试 py import sys import time k 0 try for line in sys stdin k k
  • 在 Pandas DataFrame Python 中添加新列[重复]

    这个问题在这里已经有答案了 例如 我在 Pandas 中有数据框 Col1 Col2 A 1 B 2 C 3 现在 如果我想再添加一个名为 Col3 的列 并且该值基于 Col2 式中 如果Col2 gt 1 则Col3为0 否则为1 所以
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data

随机推荐

  • 使用 lapply 进行多元回归并更改公式,而不是数据集

    我见过一个列表应用 lapply 的例子 它可以很好地获取数据对象列表 并返回回归输出列表 我们可以将其传递给 Stargazer 以获得格式良好的输出 将 stargazer 与通过在分割 data frame 上进行 lapply in
  • 带 preg_match 的 PHP switch 语句

    我在 switch 语句中创建 preg match 时遇到一些问题 我想编写与 oop page view some number 匹配的 preg match 目前它的工作原理如下 如果我在浏览器中运行http example com
  • JQuery Mobile 文件上传[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我一直在到处寻找 但找不到任何例子 有谁知道我在哪里可以找到有关使用 JQuery Mo
  • 将 Firestore 依赖项和类型导入到 node.js

    在今年的 FirebaseSummit 演讲之后 我最近将我的云函数更新为 TypeScript 我的所有代码看起来都很酷 但我在尝试恢复 Firestore API 的类型时遇到一些问题 例如QuerySnapshot DocumentR
  • CSS 加载时背​​景颜色过渡/滑过

    我发现一个 CSS 过渡在悬停时效果很好 它会将我的背景颜色滑过 但仅限于悬停时 CSS 有没有办法让这种情况在加载而不是悬停时发生 color FF0000 display inline block background color ff
  • 获取对象数组中相同值的计数

    假设我有一个对象数组 const apple bookName Harry Pottar part 1 bookName Harry Pottar part 2 bookName LOTR part 1 bookName LOTR part
  • Google Apps 脚本 e.namedValues 格式多项选择

    我有一个简单的脚本 用于通过电子邮件发送 Google 云端硬盘表单提交的结果 表格中的问题之一有多项选择复选框 我正在使用 e namedValues 来获取答案数组 以便我可以通过电子邮件发送给他们 如下所示 var multiple
  • 如何使用 Objective-C 在音频文件上添加回声效果

    我正在开发一个应用程序 我想在其中使用 Objective c 在录制的音频文件中添加回声效果 我正在使用 DIRAC 添加其他效果 例如男人对女人 慢 快 现在我必须用录制的声音制作机器人声音 对于机器人语音我需要添加回声效果 请帮我做到
  • 悬停时切换 div

    我有一个测试 UL 列表 如下所示 ul li First div li li Second div li li Third div li ul 并且 下面我有相关的 div 又名 div Content Here div div Cont
  • 在 Linux 上的 QFileDialog 中过滤可执行文件

    我正在尝试制作一个文件选择器来选择一个程序 可执行文件 我对 QDir 和 QFileDialog 文档的理解是 以下内容应该显示一个仅包含可执行文件的文件对话框 但是 即使目录中有可执行文件 它也根本不显示任何文件 也没有目录 self
  • 取消 Swift 中的定时事件?

    我想在事件发生后 10 秒内运行一段代码 但我希望能够取消它 这样如果在这 10 秒之前发生某些事情 代码将不会在 10 秒过去后运行 我一直在使用这个 但它是不可取消的 static func delay delay Double clo
  • 在 javascript es6 中编写全局 const 的正确方法是什么?

    在 javascript es6 的脚本中编写全局 const 并在其他脚本中使用它的正确方法是什么 你只需使用const在全球范围内 const aGlobalConstant 42 这就创建了一个全局常数 它不是全局对象的属性 因为co
  • 无法在Mac上使用PIL打开图像

    所以我有一个简短的 python 脚本 它接受表示图像的 base64 字符串 然后打开该图像的预览 这是我的脚本 usr local bin python3 from PIL import Image import sys import
  • ASP.NET:URI 处理

    我正在写一个方法 比方说 给定1 and hello应该返回http something com something 1 hello en I could将它们组合在一起非常容易 但是 ASP NET 3 5 为构建 URI 提供了哪些抽象
  • 如何获取两个日期之间的数据 REST Spring

    我的控制器映射 GetMapping fetch one date two date public List
  • 在没有管理员权限的情况下让 Sql Developer 在 Windows 上使用即时客户端?

    我已经在Win10 64位的企业PC上安装了Sqldeveloper版本19 1 64位版本 它可以与嵌入式 jdbc client 配合使用 但我需要使用 Oracle OCI client 使其正常工作 原因之一是更好地支持取消长时间运
  • 某些设备不支持SipApi

    我正在使用本机 sip api 在 android 应用程序中实现 sip 呼叫 它工作正常 但在某些设备 如 CANVAS 3 中它无法工作 调试后我发现这行代码正在返回NULL manager SipManager newInstanc
  • 为什么 TypeScript 不在回调中强制使用泛型参数?

    考虑这个使用 2 6 1 编译的 TypeScript 代码 function foo
  • 在管理新订单电子邮件模板中添加应用的优惠券代码 - WooCommerce

    让我澄清我的问题 我已下载并激活用于电子商务功能的 WooCommerce 插件 我想使用我的自定义插件在管理新订单电子邮件模板中添加 应用优惠券代码 Now 您能告诉我实际设置新订单电子邮件模板以便我覆盖它的确切钩子或函数吗 你能告诉我如
  • 使用 xml.etree.ElementTree 在 Python 中简单遍历 dom

    例如 考虑解析一个pom xml file