问题标签 [celementtree]
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.
python - cElementTree.interparse() 不接受自定义解析器
我使用 ElementTree 在 Python 上解析 XML 文件。我发现 cElementTree 的 C 实现与常规实现相比工作得非常快。但我也发现了构造:
不会工作。你会看到类似的东西:
同时,与 'xml.etree.ElementTree.iterparse' 相同的构造确实有效。
我在解析 XML 文件时使用自定义解析器来保留注释(默认解析器会忽略/删除它)。
有谁知道为什么在 C 实现中它不起作用?当 cElementTree 发布时,'parser' 参数已经在 ElementTree 中。
python - 使用 cElementTree 在根元素之前向 xml 添加处理指令
我正在使用cElementTree
库来生成 xml 文件。现在我想写.xsl
文件以获得更好的可读性。这就是为什么我需要<?xml-stylesheet type="text/xsl" href="style.xsl"?>
在第一个标签之前添加。不幸的是,我只能在第一个标签之后放置所需的行:
女巫在逻辑上产生:
我需要的是:
我正在寻找这样的东西,但似乎addprevious
cElementTree 中没有方法。
python - 使用 Python 高效删除 XML 元素
我正在尝试有效地编辑相当大的 XML 文件(通常为 100-500MB,但最大为 1GB),以删除所有不包含具有给定值的属性的元素的出现。我正在寻找在速度方面执行此操作的最有效方法,同时也不会将大量数据加载到内存中,因为这对于较大的文件来说是一个问题。
使用示例 XML,结构如下所示,其中父元素可以相互嵌套任意次数。
使用上面的示例 XML,我试图删除 ID 不等于“c1”的所有子元素,以给出以下结果:
到目前为止,我想出的最有效的方法是使用 cElementTree iterparse:
以上将在大约 10 秒内处理大小为 100MB 的测试文件,有没有更有效的方法来实现这一点?
python - 用 lxml 解析 XML,然后用 cElementTree 操作它
我有一个应用程序,它不断地从文件中重新加载大量 XML 数据,然后执行操作,然后写回文件。
事实证明,lxml 库解析和反解析 XML 的速度要快得多,但 cElementTree 对于某些类型的操作要快得多。两者都有几乎相同的 API。
如何使用 lxml 解析 XML 文件,然后使用 cElementTree 对其进行操作?
这是我尝试过的,但是由 lxml 解析方法生成的对象固有地使用它自己的操作方法。
python - 使用 ElementTree 修改 XML
我想通过在父标签中添加另一个子标签来修改上述 XML。我正在做这样的事情..
这是修改xml文件的正确方法吗?有更好的办法吗?或者在上面的代码中我还应该注意什么?
python - 在使用 ElementTree 解析 XML 时使用命名空间
我现在在我的 XML 中有名称空间,并尝试通过“ElementTree”在 Python 中使用名称空间解析 XML 中的答案并获得以下信息。
XML 文件。
在通过“ElementTree”查看使用 Python 中的命名空间解析 XML之后,我的 Python 代码
我得到错误:AttributeError:'NoneType'对象没有属性'findall'
python - 解析 xml 时对象没有属性“文本”
我正在使用 ElementTree 来解析一个简单的 xml 字符串:
这就是根源。我想要的只是该标签的内容,以转换为 json。“翻译”是 xml 文本。
它看起来很简单,但它抛出了“对象没有属性‘文本’”错误。我究竟做错了什么?
python - ElementTree XML 解析和 urllib2.urlopen
我正在使用以下方法打开一个 URL:
并使用response.read()
,它给出以下输出:
但是当我想使用 ElementTree 解析它时,如下所示:
给我以下错误信息:
但是当我删除该行时response.read()
,代码可以正常工作。我究竟做错了什么?
python - python元素树iterparse过滤器节点和子项
我正在尝试使用 elementTree 的 iterparse 函数根据文本过滤节点并将它们写入新文件。我使用 iterparse 因为输入文件很大(100+ MB)
输入.xml
预期输出(文本中包含“电影”或“电影”的所有页面)
当前代码
如何添加正则表达式以根据页面的文本属性进行过滤?
python - Iterparse 对象下一个没有属性
我正在解析一个 700mb 的文件,我有以下代码在我的测试文件上运行良好,没有行 context.iter(context) 和 event,elem = context.next()。
但是,当我继续 iterparse 700mb 文件时,它仍然崩溃。读过:
在清除()树时使用 ElementTree.iterparse() 是否应该增加内存使用量?
我相信这是因为我需要清除根目录,但是按照我在上面合并的一些教程后,我不断收到错误消息:
我对 Python 还是很陌生,我无法弄清楚为什么会发生这种情况,据我所知,我与示例一致。