问题标签 [lxml.objectify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
209 浏览

python-3.x - 如何使用 lxml 访问 xml 字段?

Python 3.6、Lxml、Windows 10

我快疯了。我想访问项目字段。但我总是得到错误:

AttributeError:“cython_function_or_method”对象没有属性“item”

其他所有内容(地址字段等...)我可以毫无问题地访问。如何访问项目字段(sku、金额等)?

我用过这段代码:

这是xml的开头:

0 投票
0 回答
50 浏览

python - 如何在lxml中实现自定义子元素的方法?

我正在尝试使用方法实现由自定义对象化元素组成的 xml。但是子元素似乎失去了与它们相关的方法。

特别是,这有效:

输出:

但这不会:

我预期的结果是b'<A><A><B>Text</B></A><B>Text</B></A>'

有什么办法可以实现吗?

0 投票
1 回答
262 浏览

python - 尽管根据 getchildren() 存在子元素,python lxml 无法识别子元素

我有以下 XML:

我使用 lxml objectify 将 xml 转换为对象,然后尝试按照文档中的描述访问子级

这是我的加载代码:

虽然以下代码可以正常工作:

绑定访问 Body 子 (GetStopMonitoringServiceResponse) 时出现错误:

但是当我尝试获取 Body 的孩子时,我确实看到了这个元素:

我在这里想念什么?

0 投票
3 回答
266 浏览

python - 将点表示法字符串转换为对象以访问 lxml 对象 python

我正在尝试使用 lxml objectify 使用对象表示法更新 xml。

我正在尝试使用 lxml objectify 添加另一种名为芒果的水果

我想传递一个像“fruit.citrus”这样的字符串,因为我不能传递一个对象fruit.citrus。

如何在 Python 中实现这一点,即如何在更新函数中执行代码 'root.fruit.citrus = 'orange'。如何将字符串转换为对象?

0 投票
1 回答
70 浏览

python - 使用 lxml 解析 XML 中的多嵌套子项的问题

我在解析 xml 文件中的每个子节点时遇到问题。每个 Instrument_Root 的节点数可以改变。例如, Instrument_Watch 在此处为 NULL,但在此之后将在其他实例中填充。我的目标是让每个子节点单独解析(Instrument_Ratings、Instrument_Attribute_Ratings、Instrument_Organization、Instrument_Supports 等)

我尝试执行以下操作,但它只是重复返回第一个实例 - 文件中有 3700 个 Instrument_Root,并且此 Instrument_Root 的 Instrument_Rating 重复了 3700 次。由于命名空间,我还遇到了 etree 错误。

XML:

任何关于如何解决这个问题的想法都将不胜感激。谢谢。

0 投票
1 回答
80 浏览

python - 如何使用 lxml.objectify 设置名为“文本”的标记的内容?

我正在尝试使用 lxml.objectify 解析 Python 中的 XML 文件,从中修改文本<ns:text>,然后将 XML 重新组合在一起。

这是我的 XML 文件的简短概述:

我解析了 XML 并检索了主题中的主题。<ns:text>我试图在第一个主题中将“HI”文本更改为“test” 。

我想这将是结果:

但这.text是一个只读属性,而不是我的<ns:text>. 我无法访问我<ns:text>的来更改文本。

我一直在阅读很多关于 lxml.objectify 的教程,但我找不到与我的问题类似的东西。

PS:我无法更改标记的名称。这是一个生成的 XML。

谢谢你,埃琳娜

0 投票
1 回答
169 浏览

python - 创建python objectify Element然后添加属性

我正在尝试将一个名为 Origin 的 python 类(包含作为属性的字典)序列化为带有 lxml objectify 的 xml。该字典使用每个键的值“default”初始化。

通过首先解析 XML 来填充字典。不是每个键都被填满。举个例子:dict = {A:"hello", B:"default" ...}

我想用我的字典作为属性创建我的 Origin XML 元素,但我不想拥有“默认”键。

我的解决方案是嵌套 if:

但是,如果您有超过一两个键,这是一个丑陋且不实用的解决方案。

如果与“默认”不同,有没有办法先创建我的元素origin = objectify.Element("Origin"),然后添加我的字典键?

更有活力的东西,比如

谢谢

0 投票
1 回答
267 浏览

python - 如何使用 lxml.objectify 将 XML 数据放入 DataFrame pandas 并以表格格式显示?

这是一个 XML 文件,其中包含我想使用lxml.objectifypandas.DataFrame
文件执行任务的数据:students.xml

我试过了,只能得到这个输出。

我无法获得这样的输出......

你能帮我解决这个问题吗?

0 投票
1 回答
28 浏览

lxml - 从 for 循环内部将多个元素插入 xml 时的字符串插值

出于某种原因,我发现很难通过从for循环中插入多个节点来生成 XML 文件。以下确实实现了这一点,但仍然存在几个问题。

给定一个字典列表

我可以objectify()用来生成所需的 xml:

根据需要输出:

问题是我需要将属性名称硬连接xy循环中。尝试使用字符串插值失败。例如:

提高

SyntaxError: 表达式不能包含赋值,也许你的意思是“==”?

使用 f 字符串 ( 'f'{att_items[0][0]}' = att_items[0][1]) 或格式 ( {}.format(att_items[0][0]) = att_items[0][1]) 会引发相同的错误。

那么,显而易见的问题是:有没有办法避免手动插入属性名称?或者:是否可以使用代替来复制结果(并可能避免问题)lxml.etree

0 投票
1 回答
25 浏览

python - 如何仅使用一种功能读取 3 种 XML 文件?

假设,我有以下 3 种 XML 文件:

file1.xml

file2.xml

file3.xml

假设,我想使用LXML读取这三个文件。

我如何知道/测试加载了哪个文件?

例如,当加载file1.xml或时file2.xml,以下源代码将失败:

在这种情况下我应该使用什么策略?