问题标签 [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 投票
1 回答
644 浏览

python - lxml.objectify 无法解析没有引号的属性 - 需要恢复 = Ttrue

有人对如何使用lxml.objectifywith有任何提示recover=True吗?

我有没有引用属性的 xml --> name=value 而不是 name='value'。

下面是一些示例代码...我无法控制 XML 格式,所以我无法返回并更改它。解析etree确实有效

错误是

lxml.objectify代码——失败

如果我没有得到答案,我是否必须重新

lxml.etree- 工作!

输出:

0 投票
1 回答
1297 浏览

python - lxml.objectify.parse 在 fromstring 工作时失败

当我使用文件 IO 而不是字符串 IO 时,为什么 lxml.objectify.parse 会失败?

以下代码有效:

以下代码失败并出现错误:

AttributeError:“lxml.etree._ElementTree”对象没有属性“标签”

0 投票
1 回答
1704 浏览

python - Python LXML:修改 CDATA

当我处理用 Python LXML 模块解析的 XML 时(特别是lxml.objectify,但我认为这没有什么不同),我怎样才能保留 CDATA?

鉴于以下结果:

我希望最后一行仍然有<![CDATA[....]>. 但我看不到任何保存或重建它的方法。尝试访问<Child>元素的内容会产生一个裸字符串,并且修改该元素的内容会神奇地消失 CDATA 部分。

这样做的正确方法是什么?

0 投票
1 回答
209 浏览

python - python:下载和缓存 XML 文件 - 如何处理编码声明?

我正在尝试编写一个程序,将 XML 文件下载到缓存中,然后使用objectify. 如果我使用下载文件,那么我可以很好urlopen()地阅读它们:objectify.fromstring()

但是,如果我下载它们并将它们写入文件,我最终会在文件顶部得到一个objectify不喜欢的编码声明。以机智:

结果是ValueError: Unicode strings with encoding declaration are not supported. Please use bytes input or XML fragments without declaration.

如果我使用objectify.parse(fp),那么它工作得很好——我可以通过并更改所有客户端代码来parse()代替使用,但我觉得这不是正确的方法。我在本地存储了其他 XML 文件,它们.fromstring()工作得很好——根据粗略的审查,它们似乎有utf-8编码。

我只是不知道这里的正确分辨率是什么——我应该在保存文件时更改编码吗?我应该剥离编码声明吗?try.. except ValueError我应该用子句填充我的代码吗?请指教。

0 投票
1 回答
83 浏览

python - 从 Objectified XML 高效获取多个切片

如果我有一个使用 lxml 进行 Objectify 的 XML,我如何有效地获取列表的切片?

我的剧本。

XML 从 root = meeting > Club > Race > Condition | 流动。提名

所以这个印刷品展示了提名的结构

如果我想返回这些元素,我应该怎么做?

示例 XML

我可以使用此 defaultdict 获取所有值,但似乎我没有正确使用 objectify。

0 投票
1 回答
205 浏览

python - Python lxml objectify:更改元素值时的奇怪行为

我是堆栈溢出的新手,所以对每个人都“嗨”,我希望有人可以帮助我解决我的问题......

最近我开始玩弄 lxml.objectify 并偶然发现以下行为,我发现这很奇怪。如果我只是创建一个像这样的小 xml 字符串:

输出只是: Foo Bar true

如果我更改元素的值/文本,则通过:

输出如预期:Foo Bar true, Foo Baz false

但是,如果我只是更改 objroot.child4 的值并调用 print 语句,则会出现以下错误:

虽然我希望最后一个输出是“Foo Bar true”,但我得到了“没有这样的子错误”。那么看来child4后面那棵树的剩余部分已经被砍掉了?这是一种理想的行为吗?如果是的话,我怎样才能在不剪切其余部分的情况下更改树中间元素的文本?

谢谢您的帮助!

0 投票
1 回答
1181 浏览

python - 获取 lxml.objectify 评论的内容

我有一个正在使用 pythonlxml.objectify库读取的 XML 文件。

我没有找到获取 XML 注释内容的方法:

我能够检索评论(有更好的方法吗?xml.comment[1]似乎不起作用):

正确的方法是什么?

0 投票
0 回答
110 浏览

python - Python Flask 错误:/lxml/objectify.so:未定义符号:PyCapsule_GetName

尝试通过我的烧瓶应用程序运行利用 lxml 的代码时,我收到未定义的符号错误。代码在终端上运行没有问题,但通过网络应用程序处理时出错:

/lib/python2.7/site-packages/lxml/objectify.so:未定义符号:PyCapsule_GetName

在 linux 服务器上运行 Python 2.7.9。关于如何解决这个问题的任何想法?我尝试重新安装其他版本的 lxml(通过 pip)但没有成功。

0 投票
1 回答
779 浏览

python-2.7 - lxml - 无法替换孩子的孩子

我在我的应用程序中使用 lxml 作为 XML 解析的解决方案。

我知道 lxml 只能替换父级的直接子级,但不能使用.replace替换该子级下的级别

示例 XML:

我在这样的字符串中有一个修改过的标签

我需要一些帮助来使用 xpath '/root/dc/batman' 替换原始 XML。

这会引发ValueError: Element is not a child of this node。 有没有办法可以很好地替换字符串?(仅使用 lxml)

请理解,我想要一个仅使用 lxml 库的解决方案。

0 投票
1 回答
28 浏览

python - 在 Python 中解析 XML 的意外结果

我正在尝试从 XML 中解析以下文本

问题是使用下面的代码我得到title_text = 'word1'.

我怎样才能做到这一点?

XML:

解析代码: