问题标签 [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 投票
4 回答
32662 浏览

python - XML 解析 - ElementTree vs SAX 和 DOM

Python有几种解析XML的方法...

我了解使用SAX进行解析的基础知识。它用作流解析器,具有事件驱动的 API。

我也了解DOM解析器。它将 XML 读入内存并将其转换为可以使用 Python 访问的对象。

一般来说,根据您需要做什么、内存限制、性能等,在两者之间进行选择很容易。

(希望到目前为止我是正确的。)

从 Python 2.5 开始,我们也有了ElementTree。这与 DOM 和 SAX 相比如何?它和哪个更相似?为什么它比以前的解析器更好?

0 投票
2 回答
47453 浏览

python - ElementTree XPath - 根据属性选择元素

我在使用 ElementTree 中的属性 XPath Selector 时遇到问题,根据文档我应该能够做到这一点

这是一些示例代码

XML

Python

我收到以下异常:

0 投票
2 回答
1099 浏览

python - Python 2.5 是否包含一个用于本地转换 XML 文档的包?

在我的 Python 应用程序中,我有一个 XML 文档,我想使用我的 XSL 文件对其进行转换。我目前正在使用 xml.etree 来生成 XML 文档,但是我在 Python 2.5 中没有找到任何可以让我本地转换我的 XML 文档的东西。

我已经找到了一个可以执行转换的库 ( libxslt ),但我认为 Python 会有一个可以达到预期结果的本机库。

有什么想法吗?

0 投票
10 回答
16929 浏览

python - 在 Python 的单元测试中比较 XML

我有一个可以从 XML 字符串构建自身并将自身写入 XML 字符串的对象。我想编写一个单元测试来测试通过 XML 的往返,但是我在比较两个 XML 版本时遇到了麻烦。空格和属性顺序似乎是问题所在。关于如何做到这一点的任何建议?这是在 Python 中,我使用的是 ElementTree(这并不重要,因为我只是在这个级别处理字符串中的 XML)。

0 投票
7 回答
7873 浏览

python - 如何使用 ElementTree 获取元素的完整 XML 或 HTML 内容?

也就是说,所有文本和子标签,没有元素本身的标签?

我想

element.text 返回“blah”并且 etree.tostring(element) 返回:

0 投票
2 回答
2880 浏览

python - 使用 Python 的 ElementTree 查找顶级 xml 注释

我正在使用 Python 的 ElementTree 解析一个 xml 文件,如下所示:

test.xml 以几行 xml 注释开头。

有没有办法从 et 那里得到这些评论?

0 投票
2 回答
2084 浏览

python - Python XML - 从动态嵌套的“节点”元素构建平面记录

我需要解析一个 XML 文件并从数据中构建一个基于记录的输出。问题在于 XML 是一种“通用”形式,因为它有多层嵌套的“节点”元素,代表某种数据结构。我需要根据“节点”元素的最深层动态构建记录。一些示例 XML 和预期输出位于底部。

我最熟悉 w/python 的 ElementTree,所以我更喜欢使用它,但我无法理解一种基于动态节点深度动态构建输出记录的方法。另外 - 我们不能假设嵌套节点的深度为 x 级,因此仅对每个级别进行硬编码是不可能的。有没有办法解析 XML 并即时构建输出?

一些附加说明:

  • 除了父节点和详细信息(费率、价格等)外,节点名称都是“节点”
  • 节点深度不是静态的。所以 - 假设比示例中显示的级别更高
  • 每个“级别”可以有多个子级别。所以 - 您需要在每个子“节点”上循环以正确构建每条记录。

任何想法/意见将不胜感激。

输出将如下所示:

0 投票
3 回答
14884 浏览

python - 使用 lxml 的 etree 创建 doctype

我想将文档类型添加到我使用 LXML 的 etree 生成的 XML 文档中。

但是我不知道如何添加文档类型。硬编码和连接字符串不是一种选择。

我期待与如何在 etree 中添加 PI 类似的东西:

但这对我不起作用。如何使用 lxml 将 a 添加到 xml 文档中?

0 投票
1 回答
1633 浏览

python - 使用 ElementTree/lxml 查找文本字符串的父标记

我正在尝试获取一串文本,然后从 html 中“提取”段落/文档中的其余文本。

我目前的方法是尝试在已用 lxml 解析的 html 中找到字符串的“父标签”。(如果您知道解决此问题的更好方法,我会全力以赴!)

例如,在树中搜索“TEXT STRING HERE”并返回“p”标签。(请注意,我不会事先知道 html 的确切布局)

谢谢你的帮助!

0 投票
5 回答
13517 浏览

python - 在元素树中使用 SimpleXMLTreeBuilder

我一直在用 django 和 elementtree 开发一个应用程序,在将它部署到生产服务器时,我发现它正在运行 python 2.4。我已经能够捆绑 elementtree 但现在我收到错误:

不幸的是,我无法升级 python,所以我坚持我所得到的。我如何使用 SimpleXMLTreeBuilder 作为解析器和/或我是否需要重写代码?