问题标签 [elementtree]

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

xml - 使用 Python 解析 XML

我正在使用 Python 2.5 和 WinXP。我正在解析 xml 文件,如下所示:

但是当我打印出来时,输出如下:

问题:如何修改我的代码,使 Link 和 Lanestat 出现而不是 None。tq 代码:

0 投票
1 回答
5624 浏览

python - “未找到元素”使用 xml.etree.ElementTree 和来自网络的 XML 文件

这是 Python 源代码:

当我尝试运行它时,它会出现以下错误:

任何人都可以帮助解释为什么会这样吗?

0 投票
2 回答
3114 浏览

python - 通过 lxml.etree.iterparse 在一个文件中解析多个 XML 声明

我需要解析一个包含各种 XML 文件的文件,即 <xml></xml> <xml></xml> .. 等等。使用 etree.iterparse 时,出现以下(正确)错误:

现在,我可以预处理输入文件并为每个包含的 XML 文件生成一个单独的文件。这可能是最简单的解决方案。但我想知道这个“问题”是否存在适当的解决方案。

谢谢!

0 投票
2 回答
3932 浏览

python - 搜索/替换xml的内容

我已经成功使用 xml.etree.ElementTree 来解析 xml,搜索内容,然后将其写入不同的 xml。但是,我只是在单个标签内处理文本。

但现在,我需要:

1) 搜索 xml 并抓取“attr”标签之间的所有内容,下面是示例:

2)现在,我需要打开一个不同的xml并搜索相同“attr”标签之间的所有内容并替换为上面的内容。

基本上,我之前在做什么,但忽略“attr”标签之间的子元素、属性等......并将其视为文本。

谢谢!!

请多多包涵,这个论坛和我以前的(发帖)有点不同!

这是我到目前为止所拥有的:

得到这个工作,见下文,甚至想出了如何导出到新的 .xml 但是,如果 attr 的 # 是差异。从源到目标,我收到以下错误,有什么建议吗?

节点=替换.pop()

IndexError:从空列表中弹出

2011 年 5 月 16 日更新 重组了一些东西来修复上面提到的“IndexError:从空列表中弹出”错误。意识到替换“attr”标签并不总是一对一的替换。例如。有时源 .xml 有 20 个 attr,而目标 .xml 有 25 个 attr。在这种情况下,一对一的替换会窒息。

无论如何,下面将删除所有 attr,然后替换为源 attr。它还检查另一个标签,如果存在“子类型”,它会将它们添加到 attr 之后,但在“详细”标签内。

再次感谢所有帮助过的人。

0 投票
2 回答
2682 浏览

python - 使用“pythons etree.iterparse()”解析巨大的 xml 文件无法正常工作。代码中是否存在逻辑错误?

我想解析一个巨大的文件 xml-file。这个巨大文件中的记录确实看起来像这样。一般来说,文件看起来像这样

我写了一些代码,可以让我从这个文件中选择录音。

如果我让代码运行(包括存储在 MySQL 数据库中需要将近 50 分钟),我会注意到有一条记录,其中有近百万作者。这一定是错的。我什至通过查看文件来检查它,确保文件中没有错误。这篇论文只有 5 或 6 位作者,所以 dblp.xml 一切正常。所以我假设我的代码中有一个逻辑错误。但我不知道这可能在哪里。也许有人可以告诉我,错误在哪里?

代码在行中停止if len(auth) > 2000

编辑:

当我写这个函数时,我完全被误导了。我忽略了一个巨大的错误,即在尝试跳过一些不需要的录音时,会弄乱一些想要的录音。在文件中的某个点,我连续跳过了近一百万条记录,下面的通缉记录被炸毁了。

在 John 和 Paul 的帮助下,我设法重写了我的代码。它现在正在解析,并且接缝做得很好。如果某些意外错误仍未解决,我会报告。否则谢谢大家的帮助!我真的很感激!

0 投票
2 回答
1743 浏览

python - Python ElementTree:尝试实现漂亮打印时出错

我有一些使用 ElementTree 的 python xml 代码,它编写了一个非常丑陋的 xml 文件。我想让 xml 文件更具可读性。但是 ElementTree 没有漂亮的打印功能。在文档中 ElementTree 显示了一个“缩进”方法。当我尝试使用此缩进方法时,出现以下错误。

我是否错误地使用缩进?还是这段代码有错误?有什么更容易打印的建议吗?

历史:我曾经使用过打印漂亮的 PyXML。但是,当我使用 python 2.6 时,PyXML 已经死了。lxml 具有漂亮的打印效果,但不会安装在我的系统上。因此,我将所有代码都转换为使用 ElementTree,因为我知道它可以工作并且具有我需要的大部分基本功能。

0 投票
2 回答
1030 浏览

python - Python/Etree:从元素及其子元素中获取文本

我必须使用一些这样的 HTML:

问题是我需要从子节点(如as 和is)和文本节点(如,子节点之间的部分)中获取文本。

我所能做的就是从每个孩子那里获取文本并将它们放在一起(这给了我除了所有文本节点之外的所有内容)或者只获取文本节点(而不是aand is)。有没有办法两者兼得?

0 投票
2 回答
1763 浏览

python - Python/ElementTree:写入没有命名空间的文件

我正在尝试将 ElementTree 对象写入磁盘。一切正常,除了输出文件如下所示:

由于它有html:命名空间信息,浏览器无法呈现它。

如何让 etree 在没有html:命名空间信息的情况下将一些 html 保存到磁盘?

这是我用来编写的代码:

谢谢!

0 投票
2 回答
7438 浏览

python - 从 lxml.objectify.ObjectifiedElement 中剥离 python 命名空间属性

可能重复:
使用 lxml 时,可以在没有命名空间属性的情况下呈现 XML 吗?

如何从 中剥离 python 属性lxml.objectify.ObjectifiedElement

例子:

我希望输出看起来像:

0 投票
2 回答
4580 浏览

python - 模块导入适用于解释器,但不适用于脚本

我开始关注本网站上的 elementtree 教程http://www.bigfatalien.com/?p=223所以像往常一样,我在解释器上输入了参考脚本,然后我去了

解释器可以很好地运行该命令,并且在解释器中使用“xml”没有问题,我的 IDE 甚至在自动完成时显示了该类的成员,但是只要我在脚本上键入完全相同的行并尝试运行它,它说

对象没有属性“etree”

,这条线有效:

但如果我添加:

并尝试运行那个不起作用的脚本,我尝试使用我的 IDE(pyscripter)和 IDLE,同样的行为。这里发生了什么,这是什么行为,我从未在任何“如何在 python 中导入”教程或书籍中阅读过它。我觉得我错过了一些明显的东西。

使用请求的错误消息进行更新

从 IDLE 2.6 运行提供的行

口译员