问题标签 [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.

0 投票
1 回答
280 浏览

python - 在 ubuntu 上使用 cElementTree 进行分段错误(核心转储)

我正在使用 python 脚本和 cElementTree 包在 linux ubuntu 机器上解析 xml 文件。一段时间后(每次在同一点)它会导致错误

这似乎是一个 C 错误,因此我认为它连接到我正在使用的 C 库(cElementTree)。但是,我有点卡在如何调试这个问题上。如果我在本地 Macbook 上运行相同的程序,它可以正常工作,没有任何问题。只有在linux服务器上才会崩溃?我该如何调试呢?有人知道linux中cElementTree的问题吗?

这是我的代码

解析脚本 write_to_db() 相当长,但如果有人感兴趣,我可以提供它。

0 投票
0 回答
84 浏览

python-2.7 - cElementTree 和 ElementTree 的不同行为

在以下情况下,我们没有得到相同的返回类型。一个与Element其他与xml.etree.ElementTree.Element

为什么会有这种差异?

可能是由于这种差异,它会失败并出现错误,如 Using ElementTree works 但不适用于 cElementTree ,抛出 TypeError

请尝试帮助如何解决此问题...

提前致谢

0 投票
2 回答
55 浏览

python - python元素树提取值不起作用

我正在尝试<paste_key>使用 ElementTree 提取值,但出现以下错误。谁能帮我看看我做错了什么?

错误输出: junk after document element: line 13, column 0

将存在的样本数据x

0 投票
1 回答
2753 浏览

python - 在 Python 中解析大型 XML 文件

需要一些帮助。我们有一个来自 API 的大型 XML 文件,我需要将其转换为 SQL Server 表。使用 pyodbc 将表加载到 SQL 中没有问题,但我正在努力解析 16mb XML 文件。该文件格式正确 - 它包含在单个根中。几周来我一直在寻找解决方案,但一直无法通过它反复试验。任何帮助表示赞赏。

简而言之,目标是以表格格式输出 XML 文件中包含的所有值,其中每条记录都列在其自己的行中。XML 的地址和空间部分需要正确处理子元素。我有有效的代码,但我认为这不是解析值的“正确”方法:

这是我正在使用的 XML 的一个示例:

0 投票
1 回答
228 浏览

python - cElementTree 从 XML python 中提取数据

我有一个 XML 文件,其结构类似于以下内容:

我正在尝试使用 Python 3 的 cElementTree 模块。我想提取此 XML 中每种药物的名称,为此我编写了以下代码:

我得到的错误是AttributeError: 'NoneType' object has no attribute 'text'

我也尝试过检查但 OP 在其中写的答案对我不起作用。有什么方法可以让每种药物都消失namecas-number我已经尝试了一些组合,比如findall()在 for 循环条件中删除,但即使在那时,事情也对我不起作用。

0 投票
0 回答
104 浏览

python - 如何在 python 中使用 cElementTree 为 XML 中的特定节点插入子节点

以下是将 BNF 形式的语法转换为 XML 的要求。

输入:

预期输出:

实际输出:

下面是我的代码中的一个函数, ET.SubElement(parent, ) 在一个部分工作,但在另一部分工作不工作,原因可能是 ET.Element(nonTmnl) 返回一个值而不是返回一个引用。我已经评论了我的发现的代码。感谢有关如何访问 XML 中的节点的任何建议,以便我可以向其中插入子节点。

0 投票
1 回答
361 浏览

python - 取 2 个 XML 元素并合并为 1 个新元素 - Python

我目前正在开发一个使用 OpenStreetMap XML 文档的项目。该项目的一部分是验证一些数据及其一致性。我对 Python 和使用 XML 文件相当陌生,所以我真的不知道从哪里开始。

这是我的 XML 文档的片段:

我现在想做的是采取:

并将它们组合成一个新标签:

另一件事是,并非所有这些都具有 name_base 和 name_type。所以对于那些我只想创建 addr:street 标签的人。

这是一个非常大的文件,因此必须逐个查看并创建它。创建新标签后,我需要继续删除该元素。

我正在使用:import xml.etree.cElementTree as ET

编辑

我能够解决我的部分问题

我现在遇到的问题是它正在编写地址属性,即使是没有tiger:name_base 键的方式也是如此。

0 投票
1 回答
155 浏览

python - Python:通过 iter() 在 ElementTree 中使用命名空间

我正在使用 xml.etree.ElementTree 来解析一些复杂的 xml 文件。一些 xml 文件中嵌套了几个重复的标签。

我正在使用 .iter() 来查找不同层中的重复标签。通常可以将第二个参数传递给 .find() 和 .findall()。但是,由于某种原因 .iter() 没有此选项。

我错过了什么,还是有另一种方法可以正确地做到这一点?

我知道如何,并且有构建解决方法。例如 - 重复并传递父元素的定义。- 手动映射命名空间

我希望有更好的方法!?

0 投票
2 回答
416 浏览

python - 在我可以捕获数据之前清除 iterparse 元素

我正在尝试使用 Python 使用 cElementTree 和 iterparse 解析大型 XML 文件(27GB)。我能够提取所有标签,但由于某种原因,没有检索到任何元素文本(它总是显示“无”)。我检查了文档和 StackOverflow 但无济于事。作为最后的手段,我尝试使用 lxml 进行解析并且它可以工作,但如果可能的话,我更愿意在 cElementree 上解决它。更新:当我注释掉 elem.clear() 行时,它显示正在解析的数据,但现在我试图弄清楚为什么 clear() 方法在数据打印之前擦除数据(最终我想把数据到一个单独的数据结构,如数据库)。我假设我需要清除数据,以便在文件解析期间不会最大化内存。这是其中之一吗?

使用从文件中提取的较小样本,我仍然遇到相同的错误。XML 文件看起来像这样(尽管有更多条目):

这是行为不端的代码片段:

我越来越

为什么 elem.clear() 会擦除文本,即使看起来应该首先打印?有什么建议么?

0 投票
0 回答
576 浏览

xml - 具有多个命名空间的 XML 解析

我正在尝试使用 Python 的用于 xml 解析的标准库来解析和编写 XML。

xml的格式如下:

当我解析这个 xml 然后将它推回一个字符串时,我得到了一些奇怪的东西。都class:变成了ns0。如何保留这些标记?

我必须指定不同的解析器吗?我只是有点迷失为什么这会被丢弃。

谢谢