问题标签 [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 回答
1173 浏览

python - 如何使用 Python 的 ElementTree 创建“虚拟根”?

我正在尝试使用 Python 的 ElementTree 来生成 XHTML 文件。

然而,ElementTree.Element() 只允许我创建一个标签(例如,HTML)。我需要创建某种虚拟根或任何它被称为的东西,以便我可以放置各种,DOCTYPES 等。

我怎么做?谢谢

0 投票
4 回答
2724 浏览

python - 使用 ElementTree 的节点内的 HTML

我正在使用 ElementTree 来解析 XML 文件。在某些字段中,会有 HTML 数据。例如,考虑如下声明:

现在,假设 _course 是一个包含这个 Couse 元素的 Element 变量。我想访问这门课程的描述,所以我这样做:

但随后 desc 仅包含“第 1 行”。我读了一些关于 .tail 属性的东西,所以我也尝试了:

我得到相同的输出。我应该怎么做才能使 desc 成为“第 1
行第 2 行”(或字面上的任何介于 and 之间的内容)?换句话说,我正在寻找类似于 C#(以及我猜的许多其他语言)中的 .innerText 属性的东西。

0 投票
4 回答
13177 浏览

python - ElementTree 的替代 XML 解析器以缓解 UTF-8 问题?

我正在使用 elementtree.parse() 函数解析一些 XML。它可以工作,除了一些 utf-8 字符(128 以上的单字节字符)。我看到默认解析器是基于 expat 的 XMLTreeBuilder。

是否有我可以使用的替代解析器可能不那么严格并允许 utf-8 字符?

这是我在使用默认解析器时遇到的错误:

导致这种情况的字符是单字节 x92(十六进制)。我不确定这甚至是一个有效的 utf-8 字符。但是处理它会很好,因为大多数文本编辑器将其显示为:í

编辑:字符的上下文是:canít,我认为它应该是一个花哨的撇号,但在十六进制编辑器中,相同的序列是:63 61 6E 92 74

0 投票
2 回答
10199 浏览

python - 在 Python 中使用 ElementTree 更改命名空间前缀

默认情况下,当您调用 ElementTree.parse(someXMLfile) 时,Python ElementTree 库会在每个解析的节点前面加上 Clark 表示法中的命名空间 URI:

这使得在代码后面通过名称访问特定节点变得非常痛苦。

我已经阅读了有关 ElementTree 和命名空间的文档,看起来该iterparse()函数应该允许我更改解析器为命名空间添加前缀的方式,但对于我的生活,我实际上无法让它更改前缀。似乎这可能在 ns-start 事件触发之前在后台发生,如下例所示:

如何让它改变前缀行为以及函数结束时返回的正确内容是什么?

0 投票
2 回答
361 浏览

python - 如何根据 Location 字段将用户分类到不同的国家

大多数 Web 应用程序都有一个位置字段,用户可以在其中输入他们选择的位置。

您将如何根据输入的位置将用户分类到不同的国家。

例如,我使用了 Stack Overflow 转储users.xml并提取了用户的姓名、声誉和位置:

使用以下 Python 脚本:

将人们分类到不同国家的最简单方法是什么?是否有任何现成的查找表可以为我提供X位置属于Y国家/地区的输出?

查找表不需要完全准确。通过在 Google 或 Wolfram Alpha 上查询位置字符串可以获得相当准确的答案。

0 投票
5 回答
63403 浏览

python - 在 ElementTree 中使用 XPath

我的 XML 文件如下所示:

我要做的就是提取 ListPrice。

这是我正在使用的代码:

绝对没有输出。我也试过

没有不同。

我究竟做错了什么?

0 投票
3 回答
7555 浏览

python - 在 Django 中导入 python 模块时出错

在我的 Django 项目中,以下行引发 ImportError:“没有名为 elementtree 的模块”。

但是,该模块已安装(即,我可以运行交互式 python shell,并键入没有任何 ImportError 的确切行),并且包含该模块的目录位于 PYTHONPATH 上。但是当我在浏览器中访问任何页面时,它以某种方式找不到模块,并抛出 ImportError。这可能是什么原因造成的?

0 投票
5 回答
4283 浏览

python - Python 2.6.2 处理指令中的 ElementTree 支持?

我正在尝试使用 Python 中的 ElementTree 对象结构创建 XML。除了处理指令外,这一切都很好。我可以使用工厂函数 ProcessingInstruction() 轻松创建 PI,但它不会添加到元素树中。我可以手动添加它,但我不知道如何将它添加到通常放置 PI 的根元素上方。有人知道怎么做吗?我知道很多替代方法,但似乎这必须建在我找不到的某个地方。

0 投票
2 回答
945 浏览

python - 在保留布局的同时更改 XML

您将使用什么来更改 XML 文件,同时尽可能多地保留布局,包括缩进和注释?

我的问题是我有几个描述用户界面的大量手工编辑的 XML 文件,现在我需要将几个属性翻译成另一种语言。

我尝试过使用 Python + ElementTree 执行此操作,但它既没有保留空格也没有保留注释。

我已经看到针对类似问题建议使用 XSLT,但我认为在这种情况下这不是替代方案,因为我需要对每个属性进行一些逻辑和查找。

如果每个元素中的属性顺序也被保留,那将是更可取的,但我可以容忍更改的顺序。

0 投票
2 回答
159007 浏览

python - 使用 ElementTree 示例在 Python 中解析 XML

我很难找到一个很好的基本示例,说明如何使用元素树在 python 中解析 XML。据我所知,这似乎是用于解析 XML 的最简单的库。这是我正在使用的 XML 示例:

我能够使用硬编码的方法做我需要的事情。但我需要我的代码更有活力。这是有效的:

这是我尝试过的几件事,但都没有奏效,报告说他们找不到 timeSeries (或我尝试过的其他任何东西):

基本上,我想加载xml文件,搜索timeSeries标签,遍历value标签,返回dateTime和标签本身的值;我在上面的例子中所做的一切,但没有对我感兴趣的 xml 部分进行硬编码。谁能指出一些例子,或者给我一些关于如何解决这个问题的建议?


感谢所有的帮助。使用以下两个建议都适用于我提供的示例文件,但是,它们不适用于完整文件。这是我在使用 Ed Carrel 的方法时从真实文件中得到的错误:

我认为它不喜欢的真实文件中有一些东西,所以我逐渐删除了一些东西,直到它起作用。以下是我更改的行:

删除具有 'xsi:...' 的属性解决了这个问题。'xsi:...' 不是有效的 XML 吗?我很难以编程方式删除这些。有什么建议的解决方法吗?

这是完整的 XML 文件:http ://www.sendspace.com/file/lofcpt


当我最初问这个问题时,我不知道 XML 中的名称空间。现在我知道发生了什么,我不必删除作为命名空间声明的“xsi”属性。我只是将它们包含在我的 xpath 搜索中。有关 lxml 中命名空间的更多信息,请参阅此页面