在Python中插入lxml树时出现属性错误

2024-04-16

我正在尝试将 xml 的小结构注入到现有 xml 文件中的特定位置:

<not>
  <elt>
    <isVal>Y</isVal>
  </elt>
</not>

我的代码如下所示:

import lxml.etree as ElementTree;

tree = ElementTree.ElementTree()
tree.parse(file_path)

root = tree.getroot();
ruleElement = tree.find('.//rule');

for child_n in ruleElement:
    if (child_n.tag == 'and'):
        print "Found rule - and"
        ruleElement.insert(0, tree.XML("<not><elt><isVal>Y</isVal></elt></not>"))

我收到以下错误:AttributeError:“lxml.etree._ElementTree”对象没有属性“XML”

我也尝试过:

for child_n in ruleElement:
    if (child_n.tag == 'and'):
        print "Found rule - and"
        child_n.Element(child_n, 'test_insert').text = 'test'
        child_n.insert(1, item[0])      

这给出:AttributeError:“lxml.etree._ElementTree”对象没有属性“Element”

尝试将其作为子元素,得到相同的错误消息:AttributeError:“lxml.etree._Element”对象没有属性“SubElement”

我从其他类似的问题中得到了如何做到这一点的想法,但它似乎不想接受 Element、SubElement 或 XML 作为可接受的属性。我究竟做错了什么?

我使用的是 Python 2.6,无法升级。


您需要使用创建“元素”lxml.etree.SubElement:

import lxml.etree

xml = lxml.etree.parse('xyz.xml')
root = xml.getroot()

nt = lxml.etree.SubElement(root, 'not')  # add to the XML root!
elt = lxml.etree.SubElement(nt, 'elt')
isVal = lxml.etree.SubElement(elt, 'isVal')
isVal.text = 'Y'

with open("xyz2.xml", 'wb') as f:
    f.write(lxml.etree.tostring(root, xml_declaration=True, encoding="utf-8"))

print(open("xyz2.xml", 'r').read())

Output:

<?xml version='1.0' encoding='utf-8'?>
<note>
  <to>abc</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Party</body>
<not><elt><isVal>Y</isVal></elt></not></note>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python中插入lxml树时出现属性错误 的相关文章

  • 如何查看Databricks中的所有数据库和表

    我想列出 Azure Databricks 中每个数据库中的所有表 所以我希望输出看起来像这样 Database Table name Database1 Table 1 Database1 Table 2 Database1 Table
  • 在 python 程序中合并第三方库的最佳实践是什么?

    下午好 我正在为我的工作编写一个中小型Python程序 该任务需要我使用 Excel 库xlwt and xlrd 以及一个用于查询 Oracle 数据库的库 称为CX Oracle 我正在通过版本控制系统 即CVS 开发该项目 我想知道围
  • Python 的键盘中断不会中止 Rust 函数 (PyO3)

    我有一个使用 PyO3 用 Rust 编写的 Python 库 它涉及一些昂贵的计算 单个函数调用最多需要 10 分钟 从 Python 调用时如何中止执行 Ctrl C 好像只有执行结束后才会处理 所以本质上没什么用 最小可重现示例 Ca
  • 将数据从 python pandas 数据框导出或写入 MS Access 表

    我正在尝试将数据从 python pandas 数据框导出到现有的 MS Access 表 我想用已更新的数据替换 MS Access 表 在 python 中 我尝试使用 pandas to sql 但收到错误消息 我觉得很奇怪 使用 p
  • 将 Matplotlib 误差线放置在不位于条形中心的位置

    我正在 Matplotlib 中生成带有错误栏的堆积条形图 不幸的是 某些层相对较小且数据多样 因此多个层的错误条可能重叠 从而使它们难以或无法读取 Example 有没有办法设置每个误差条的位置 即沿 x 轴移动它 以便重叠的线显示在彼此
  • Django:按钮链接

    我是一名 Django 新手用户 尝试创建一个按钮 单击该按钮会链接到我网站中的另一个页面 我尝试了一些不同的例子 但似乎没有一个对我有用 举个例子 为什么这不起作用
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • SQLALchemy .query:类“Car”的未解析属性引用“query”

    我有一个这里已经提到的问题https youtrack jetbrains com issue PY 44557 https youtrack jetbrains com issue PY 44557 但我还没有找到解决方案 我使用 Pyt
  • 基于代理的模拟:性能问题:Python vs NetLogo & Repast

    我正在 Python 3 中复制一小段 Sugarscape 代理模拟模型 我发现我的代码的性能比 NetLogo 慢约 3 倍 这可能是我的代码的问题 还是Python的固有限制 显然 这只是代码的一个片段 但 Python 却花费了三分
  • 绘制方程

    我正在尝试创建一个函数 它将绘制我告诉它的任何公式 import numpy as np import matplotlib pyplot as plt def graph formula x range x np array x rang
  • 如何使用Python创建历史时间线

    So I ve seen a few answers on here that helped a bit but my dataset is larger than the ones that have been answered prev
  • Pygame:有没有简单的方法可以找到按下的任何字母数字的字母/数字?

    我目前正在开发的游戏需要让人们以自己的名义在高分板上计时 我对如何处理按键有点熟悉 但我只处理过寻找特定的按键 有没有一种简单的方法可以按下任意键的字母 而不必执行以下操作 for event in pygame event get if
  • Pandas:merge_asof() 对多行求和/不重复

    我正在处理两个数据集 每个数据集具有不同的关联日期 我想合并它们 但因为日期不完全匹配 我相信merge asof 是最好的方法 然而 有两件事发生merge asof 不理想的 数字重复 数字丢失 以下代码是一个示例 df a pd Da
  • Conda SafetyError:文件大小不正确

    使用创建 Conda 环境时conda create n env name python 3 6 我收到以下警告 Preparing transaction done Verifying transaction SafetyError Th
  • 如何计算 pandas 数据帧上的连续有序值

    我试图从给定的数据帧中获取连续 0 值的最大计数 其中包含来自 pandas 数据帧的 id date value 列 如下所示 id date value 354 2019 03 01 0 354 2019 03 02 0 354 201
  • 在 Qt 中自动调整标签文本大小 - 奇怪的行为

    在 Qt 中 我有一个复合小部件 它由排列在 QBoxLayouts 内的多个 QLabels 组成 当小部件调整大小时 我希望标签文本缩放以填充标签区域 并且我已经在 resizeEvent 中实现了文本大小的调整 这可行 但似乎发生了某
  • 从列表指向字典变量

    假设你有一个清单 a 3 4 1 我想用这些信息来指向字典 b 3 4 1 现在 我需要的是一个常规 看到该值后 在 b 的位置内读写一个值 我不喜欢复制变量 我想直接改变变量b的内容 假设b是一个嵌套字典 你可以这样做 reduce di
  • 如何将输入读取为数字?

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 Why are x and y下面的代码中使用字符串而不是整数 注意 在Python 2
  • Statsmodels.formula.api OLS不显示截距的统计值

    我正在运行以下源代码 import statsmodels formula api as sm Add one column of ones for the intercept term X np append arr np ones 50

随机推荐

  • XCode - 架构 armv7 arm64 的未定义符号

    我参与了一个较旧的项目 该项目需要为其使用的扫描仪更新 SDK 新的 SDK 已支持 64 位 因此应用程序需要更新 SDK是通过拖放到项目中安装的 但之后在构建时出现以下错误 注意 我收到一个错误 指的是arm64但这目前说armv7因为
  • 是否可以托管 Java Web 服务而不将其部署在 Tomcat/JBoss 等服务器上?

    据我所知 需要 Apache Tomcat 或像 JBoss 这样的应用服务器来部署和运行用 java 实现的 Web 服务 我的经理问我 是否有其他方法可以在不配置或设置 Apache Tomcat JBoss 的情况下部署 Web 服务
  • 即使在 .NET 4.5 中,ObservableCollection 也不是线程安全的?

    这几天我一直在用头撞虚拟墙 BindingOperations EnableSynchronization 方法似乎仅在 NET 4 5 中部分工作 我写了一个有时会失败的测试 object blah new object Applicat
  • Pycharm错误:无法确定模块类型(“WEB_MODULE”)

    我正在使用 Pycharm Professional 4 5 4 开发一个 javascript 项目 在浏览器中打开该项目时发现一些奇怪的行为 项目结构是这样的 MyProject data images python etc webap
  • 为什么不是 obj.style.left = "200px";在这段代码中工作?

    为什么不会 style top 200px 在这段代码中工作 使用以下方式调用元素内的事件oclick this style left 200px 也不行 div The Div div
  • 如何更改 php 错误电子邮件的主题?

    我有以下内容 error log big error 1 my email address 消息发送后 主题行中会显示 PHP error log message 有人可以告诉我如何自定义消息主题吗 error log Error mess
  • 如何在Python 3.6中安装Keras?

    我在安装 Python 3 6 的 Keras 库时遇到问题 每当我尝试安装 Keras 时 它都会抛出错误 当我在互联网上搜索时 Keras 已发布到 Python 3 5 有人有解决方案吗 如果您有 Anaconda 和 Python
  • 当启用删除、插入或更新操作时,LinqDataSource 不支持 Select 属性

    我在单击删除按钮 链接时收到此错误GridView控制 LinqDataSource DataSource 不支持 Select 属性 删除 插入或更新操作已启用 我真的不明白为什么会收到此错误 因为我已经在网站的不同网页上做了同样的事情
  • 键盘中断张量流运行并在此时保存

    有没有办法通过键盘中断来中断张量流会话 并可以选择在此时保存模型 我目前让会话运行过夜 但需要停止它 以便我可以释放内存供电脑在白天使用 随着训练的进行 每个时期都会变慢 因此有时我可能需要等待几个小时才能进行程序中的下一个计划保存 我想要
  • 为 android 4.0 或更高版本创建自定义锁屏?

    我想为 android 4 0 及以上版本创建自定义锁屏 我尝试使用小部件来创建锁屏 但它仅支持 android 4 2 还有其他方法可以创建自定义 Android 锁屏吗 几个月前我在互联网上的某个地方找到了一些片段 我做了一些更改 最近
  • openlayers 地图未在 vuejs 中显示

    以下代码片段是一个 vue 文件 它不会生成任何错误 但 openlayers 地图不会显示 我尝试了 openlayers 的两个 vue 插件 但似乎没有按照我的需要工作 在 vue 之外 代码可以工作 我使用 npm install
  • Google Sheets 数据透视表未更新

    我有一个谷歌应用程序脚本 它将信息提交到有组织的工作表 并希望创建一个包含工作表中所有信息的数据透视表 我可以这样做 但每当我向工作表提交新行数据时 它都不会自动包含在数据透视表中 每次提交新行数据时 我都必须手动更改数据透视表的范围 有什
  • Android:检测打开的键盘,onApplyWindowListener 不起作用

    我试图在键盘打开时隐藏布局底部的一个特定按钮 以便为用户提供更多视图 随着发布androidx core core ktx 1 5 0 alpha02谷歌 最后 添加了一个名为的方法insets isVisible WindowInsets
  • 如何访问在 Amazon ec2 上运行的 django 应用程序?

    所以 我查看了堆栈溢出 其他网站 但无法解决这个问题 因此发布这个问题 我最近开始学习 django 并且现在尝试在 ec2 上运行它 我有一个以下格式的 ec2 实例 ec2 xx xxx xx xxx us west 2 compute
  • 如何使用 Fitch 系统证明 ((p ⇒ q) ⇒ p) ⇒ p

    仅供参考 我使用的逻辑程序无法进行矛盾引入 这一点很可能是无关紧要的 因为我非常怀疑我是否需要使用任何形式的矛盾来证明这一点 在尝试解决这个问题时 我首先假设 p q p 它是否正确 如果是这样 接下来怎么办 如果解决方案看起来如此明显 请
  • “GONE”视图是否会损害性能?

    我正在制作一个应用程序 它可以节省我一些时间 多个活动有一个布局 其中一些视图设置为 GONE 消失 具体取决于正在使用的活动 我知道布局中包含大量视图可能会导致性能不佳 如果我有一个具有大量视图的活动 但其中很大一部分视图都消失了 那么该
  • 在 uiimageview 中加载大图像时的内存消耗

    我正在使用 UIViewContentModeScaleAspectFit 将大小为 2480 3508 的 UIImage 加载到 UIImageView 中 我在加载此图像时收到内存警告 当我在此 UIImageView 中加载一些此尺
  • 如何从列类型列表中的 pandas DataFrame 中删除空值

    只是期待一个从具有列表值的列中删除空值的解决方案 从某种意义上说 我们已经事先替换了一些字符串 它是列表的字符串表示形式的列 In df color我们只是更换 Blue带空字符串 示例数据框 df pd DataFrame Bird pa
  • Visual Studio 2012 Ultimate 新依赖图错误

    每次使用 Visual Studio 2012 Ultimate 创建新的依赖关系图时 我都会收到此错误 Unable to connect to the specified database An exception occurred a
  • 在Python中插入lxml树时出现属性错误

    我正在尝试将 xml 的小结构注入到现有 xml 文件中的特定位置