问题标签 [xml.etree]

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 回答
274 浏览

import - 无法再从 ElementTree 导入

多年来,我的代码中已经导入了以下内容:

今天我在移动(在 Eclipse/pyDev 中)一些不相关的源文件到另一个文件夹时犯了一个错误。该文件夹不是一个包,它花费了我一些清理、重建和 del *.pyc-s 才能再次找到它们。该部分已解决,但现在,上面的导入与“未解决的导入...”中断。当我删除 etree-prefix 时,导入已解决,但在运行时我得到

怎么了..?

0 投票
2 回答
1966 浏览

python - 使用python etree获取xml的属性

这是我的xml

我想使用 orgID 获取这个 xml 的属性。

假设orgID=1234然后输出应该是

我尝试过的,

但是出现错误,

我在这里做错了什么?

0 投票
2 回答
769 浏览

python - Dealing with missing elements in xml document

I have some XML, a fragment of which looks like:

I am parsing it with:

Occasionally either the reason or the date or both are empty, ie, the element is missing, not just has empty content. This is legitimate according to the XSD, but I get attribute errors trying to select the text of a non-existent element. To deal with that I have put the reason and date lines in try, except blocks, like:

This works, but I hate to use except/pass like this, so it led me to wondering if there is a nicer way to parse a document like this where some elements are optional.

0 投票
2 回答
965 浏览

python-3.x - xml.etree.ElementTree.iterparse() 对于大型 XML 文档不可扩展?

我正在尝试通过iterparse()(设计为)太大而无法放入内存的 XML 文档进行增量解析。我发现即使对文档进行无操作传递也会耗尽进程内存并导致我的系统开始交换。

期望xml.etree.ElementTree.iterparse()在独立于 XML 文档大小的恒定内存中运行是错误的吗?如果是这样,对任意长的 XML 文档进行增量解析的推荐包是什么?如果不是,我的代码有问题吗?

这是代码:请注意,我仅请求“开始”事件(因此解析器在返回文档根元素的结束标记(在我的情况下为 <osm>)之前不会尝试缓冲所有正文元素。我明确表示del()循环变量以强制它们被释放。

考虑到垃圾收集器可能没有机会运行,因为循环没有产生,我添加了对每百万次迭代gc.collect()的 显式调用。time.sleep()但这无济于事。

这是文档的示例。它是格式良好的 OSM 数据。

. . . 等等 1.8 GB 。. .

这是输出:

我解释输出以显示进程虚拟内存以大约 1 000 B / 迭代的速度增长(即,每个解析的 XML 标记)。我认为垃圾收集统计数据没有显示分配对象的单调增加,所以我不知道内存增长来自哪里。确实启用了垃圾收集。

0 投票
1 回答
1406 浏览

python - Elementtree 转储给出错误答案

我不明白,虽然我今天又病又累。一旦我开始添加元素,不匹配的标签就会被纠正,所以它不是一个炫耀的东西,但无论我做什么,幻影 None 仍然存在。是什么赋予了?我已经留下了进口,以防万一它们有问题。

0 投票
1 回答
637 浏览

python - 用有序字典替换字典理解和 defaultdict

以下代码采用 XML 并将其转换为字典:

在哪里:

但是,上面的函数返回一个无序的字典。我希望它改为返回有序字典。我不清楚如何替换一些字典理解defaultdict对此的要求。

输入的一个例子可能是这个:http ://www.w3schools.com/xml/plant_catalog.xml

关于如何更换的任何想法

0 投票
2 回答
320 浏览

python - 使用 xml.etree 解析 XML(仅限)

使用 xml.etree(请使用此模块)

我该如何解析:

为了得到:

到目前为止,使用以下代码我只能获得 Revision 行,但我正在努力解析其他子字段:

0 投票
2 回答
971 浏览

python - 不要折叠 XML 输出中的空节点

我正在使用 pythonxml.etree.ElementTree来表示 XML 文档。我想将它输出为文本,但我想保持空元素(没有子元素的元素)展开,而不是折叠。例如,我想要这个:

而不是这个:

我目前正在使用ElementTree.tostring,但我愿意使用任何其他内置的 python 模块或函数来序列化文档,只要我可以很容易地使用 ElementTree 对象。

仅供参考,我想保持元素扩展的原因是因为我想更容易地将输出与来自不会折叠空元素的第三方程序的输出进行比较。

0 投票
1 回答
5320 浏览

python - 如何在 python etree 中正确转义 XML?

我正在使用 python 2.7.3 版。

测试.txt:

结果:

如您所见,解析器必须将&lt;'s 更改为<'s 等。

我想看到的:

The tag &lt;StackOverflow&gt; is good to bring up at parties.

未触及的原始文本。有时我真的很喜欢生的。生。

我想按原样使用此文本在 HTML 中显示,因此我不希望 XML 解析器弄乱它。

我必须重新转义每个字符串还是可以有其他方法?

0 投票
1 回答
643 浏览

python - 从python中的etree中删除元素兄弟

我试图删除给定元素的所有兄弟姐妹:

例如,给定这个 etree 对象

我想删除所有 G 节点兄弟并返回:

不使用 xpath 或 find,以迭代方式。

你能提供一些关于如何做到这一点的提示吗?

这是我刚刚写的代码

干杯!