问题标签 [lxml]

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

python - 如何使用 python lxml 获取 html 元素

我有这个 html 代码:

我使用这个 Python 代码<td class="test">通过 lxml 模块提取所有内容。

效果很好!结果是:

(所以每个的第一列和第四列<tr>)现在,我必须提取:

aaa(链接的标题)

ddd<small> (标签之间的文本)

eee(链接的标题)

hhh<small> (标签之间的文本)

我怎样才能提取这些值?

(问题是我必须删除<b>标签并在第一列获取锚的标题并在第四列删除<small>标签)

谢谢!

0 投票
1 回答
181 浏览

python - 在添加子元素之前或之后创建文档树

我正在使用 lxml 和 Python 来编写 XML 文件。我想知道什么是公认的做法:首先创建文档树,然后添加子元素或添加子元素并稍后创建树?我知道这对输出几乎没有任何影响,但我很想知道从编码风格的角度来看,这是什么公认的规范。

示例代码:

或这个:

0 投票
5 回答
75509 浏览

python - 在 Python 中使用 lxml 库编写 xml 文件

我正在使用lxml从头开始​​创建 XML 文件;有这样的代码:

如何使用类的方法将根Element对象写入 xml 文件?write()ElementTree

0 投票
1 回答
3093 浏览

python - lxml unicode实体解析问题

我正在使用 lxml 来解析从另一个系统导出的 XML 文件:

但我得到:

lxml.etree.XMLSyntaxError:未定义实体“eacute”,第 4495 行,第 46 列

显然,它在使用 unicode 实体名称时存在问题——但我该如何解决呢?通过 open() 还是 parse()?

编辑:我忘记将我的 DTD 包含在同一个文件夹中 - 它现在在那里并且具有以下声明:

并且在 xmldoc 中被称为(并且一直是):

然而我仍然遇到同样的问题...... DTD 是否也需要在 Python 中声明?

0 投票
1 回答
2238 浏览

python - 帮助解析lxml

为了实现一个大学项目,我需要处理 XML 文件。为此,我在做了一些研究后选择了 lxml。但是我似乎找不到一些很好的教程来帮助我入门。我无法最具体地选择我需要使用哪种类型的解析。我的 XML 文件没有那么多数据,但主要关注的是速度,而不是内存。

谁能指点我一些对我有帮助的教程或一些我可以查找的书?我已经尝试过 lxml 网站上的教程,但这对我没有多大帮助。是否有一些小应用程序我可以查找使用 lxml 解析 XML 的窍门

0 投票
1 回答
6434 浏览

python - 带有 LXML 的标签中的多个 XML 命名空间

我正在尝试使用 Pythons LXML 库来创建一个可以被 Garmin 的 Mapsource 产品读取的 GPX 文件。他们的 GPX 文件的标题看起来像这样

当我使用以下代码时:

我得到:

哪个有烦人的ns0标签。这可能是完全有效的 XML,但 Mapsource 不喜欢它。

知道如何让这个没有ns0标签吗?

0 投票
1 回答
248 浏览

python - 对使用类或函数感到困惑:使用 lxml 和 Python 编写 XML 文件

我需要使用 lxml 和 Python 编写 XML 文件。

但是,我不知道是使用 aclass来执行此操作还是使用函数。关键是,这是我第一次开发合适的软件并决定在哪里以及为什么使用class仍然看起来很神秘。

我将说明我的观点。

例如,考虑以下我为将子元素添加到 etree 根而编写的基于函数的代码。

正如预期的那样,它的输出是:

但是,您可以注意到评论,我不知道如何使用这种方法设置文本变量。

是使用class唯一的方法来解决这个问题吗?如果是的话,你能给我一些关于如何实现这一目标的指示吗?

0 投票
1 回答
1446 浏览

python - 摆脱 lxml 中的编码

我正在尝试使用 lxml 和 Python 打印 XML 文件。

这是代码:

输出:

如您所见,我已经声明encoding = None了 ,但它仍然显示encoding = 'ASCII'在最终输出中。我猜这是预期的。如果我不输入encoding标签,它仍然显示 ASCII。

有什么办法可以只获取 XML 版本标签而不是编码部分?我希望输出是这样的:

0 投票
3 回答
341 浏览

python - 我应该使用哪个 Python XML 库?

我将为一个项目处理 XML 文件。我早些时候决定使用 lxml,但在阅读了要求之后,我认为 ElemenTree 会更好地满足我的目的。

必须处理的 XML 文件是:

  1. 体积小。通常 < 10 KB。

  2. 没有命名空间。

  3. 简单的 XML 结构。

鉴于 XML 的大小很小,内存不是问题。我唯一关心的是快速解析。

我应该带什么去?大多数情况下,我看到人们推荐 lxml,但考虑到我的解析要求,我真的可以从中受益还是 ElementTree 会更好地服务于我的目的?

0 投票
3 回答
155 浏览

python - 如何防止 lxml 舞会压缩元素?

具有以下 Python 代码:

如何强制 lxml 使用“长”版本?