问题标签 [minidom]

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

python - 使用 getElementsByTagName 后按节点属性对节点进行排序

编辑

字典是这里的罪犯,这个问题上标记的答案有效,但字典做了它想要的。在这种情况下,对字典进行排序是答案,但现在我知道如何通过属性对节点进行排序,你也知道了。

结尾

我很高兴能问 Python 问题,这就是我所拥有的:

这几乎可以完美地工作。“格式”变量是一个已经解析的节点,其中包含一堆“数据”节点。这是xml:

好吧,这一切都很好,但是我按以下顺序获取字典元素:

(删除的值)

我希望它们按照它们在 xml 中出现的顺序返回,并且 seq 属性可以帮助实现这一点。在 Python 代码中的这一行之后:

...有一些我可以在节点上运行的功能来排序吗?或者在获取节点时我可以说些什么让它知道对它们进行排序?您会认为它会自然而然地按照 xml 的写入顺序获取它吗?

如果没有为我自动执行此操作的功能,我可以处理它。

0 投票
2 回答
3312 浏览

python - 当 XML 属性包含 unicode 时,xml.dom.minidom.parse() 失败

我正在使用 urllib2.request 查询 Web 服务并接收 XML。如果我违反了 Web 服务的速率限制(1 次调用/秒),我会收到 HTML 回复说我违反了速率限制。

尽管每次通话后我可以 time.sleep() 2-3 秒,但无论出于何种原因,我仍然违反了速率限制。

为了测试我的响应是 XML 还是 HTML,我使用 xml.dom.minidom() 然后测试是否存在 html 元素

这样就完成了工作,但我遇到了一个 XML 属性包含 XML 的情况。在这种情况下, parseString() 命令失败并显示

在这种情况下,第 3125 列是某些属性值文本的一部分,其中包含 &-pound-x-9(Stackoverflow 正在隐藏我的 unicode)。

xml.dom.minidom 应该能够处理这个吗?除了这个导致解析失败的 XML 是否还有其他问题?

此外,如果社区有其他处理此类情况的方法,我愿意接受。

如果有帮助,以下是当我违反其速率限制时 Web 服务返回的内容:

0 投票
2 回答
2854 浏览

python - 安全地获取 minidom XML 子节点值

我第一次使用 Python 和 minidom,想从一个元素中获取一个值,例如:

这很好,很简单,但是如果值为空或元素不存在,那么我想回退到默认值。我找不到在 Python 中执行此操作的简单方法,因此我最终编写了以下函数:

要调用它,我使用类似的东西:

这可以完成工作并且似乎工作正常,但似乎并不那么高效或优雅。

有没有更好的方法来做到这一点,或者这有什么问题吗?

0 投票
2 回答
144 浏览

python - 对使用哪个 XML 处理选项感到困惑

我对 Python 还很陌生,而且我刚刚开始使用 XML 解析。我对使用 XML 的所有选项感到有点不知所措,我希望有经验的人可以为我正在处理的简单问题给我一些建议(也许还有代码示例??)。

我正在开发一个不涉及数据库的简单 Python 联系人管理应用程序 - 每个联系人的信息都使用 XML 存储在一个单独的文本文件中。例如,假设以下是文件“1234.xml”的内容

例如,假设只能有一个电话号码,但可以有多个地址块。

对于我在这里所做的事情,我需要能够从文件中解析 XML,对数据进行更改,然后更新 XML 并将其保存回文件。假设可能发生三种类型的数据更改:

  1. 更改一项或多项的数据,例如更新电话号码

  2. 添加新地址块(以及新地址的街道/城市/州的相应数据)

  3. 删除现有地址块

鉴于我在这里尝试做的事情,你能推荐一种特殊的方法吗?(SAX、DOM、minidom、ElementTree 等等?)您建议的任何代码示例将不胜感激。

谢谢!

罗恩

0 投票
1 回答
65 浏览

python - 如何检索使用 minidom 创建的 xml?

现在当我打印它时——它刚刚返回<?xml version="1.0" ?>,我实际上想要我创建的整个 xml。请帮忙

0 投票
1 回答
899 浏览

python - 使用 minidom 解析 XML

我有一个 XML 文件,我想从某些标签中提取数据,这些标签只嵌套在其他标签中,即包含我要提取的数据的标签出现在 XML 文档的其他地方。

示例 XML:

Python 代码(检索所有数据,包括我不想要的标签):

如何修改循环以仅访问嵌套在项目标签中的标签中的数据?

0 投票
1 回答
1308 浏览

python - HDI:将大字符串 xml 写入文件(python xml.dom.minidom)

我目前正在构建大型 xml 文件,xml.dom.minidom然后通过toprettyxml. 有没有办法将 xml 流式传输到文档,因为我遇到了内存错误。

0 投票
1 回答
401 浏览

python - Python CGI 脚本(使用 XML 和 mindom)返回意外结果

我正在尝试解析搜索引擎 API(Bing、Yahoo 和 Blekko)返回的 XML。从 Blekko 返回的 XML(用于示例搜索查询 'sushi')采用以下形式:

提取所需搜索结果数据的python代码部分是:

该代码不会提取返回的每个搜索结果的页面标题,但会提取其余信息。

此外,如果我没有代码:

在脚本的某处,第一个搜索结果的标题被视为页面标题(即页面在浏览器中显示为标题“Sushi - Wikipedia”)。如果我确实有页面标题,代码仍然不会从搜索结果中提取页面标题。

相同的代码(具有不同的标签名称等)在 Yahoo 搜索 API 中存在相同的问题,但在 Bing 搜索 API 中可以正常工作。

0 投票
1 回答
204 浏览

python - Python CGI 脚本(使用 XML 和 mindom)无法提取空数据

这部分代码解析 XML 以输出到网页上的屏幕。

但是,如果脚本遇到一组空 XML 标记,即如果页面没有页面标题或描述,则脚本将失败,并显示错误消息:

正在解析的 XML 片段:

我没有成功尝试使用这样的 try/except 语句:

任何建议表示赞赏。

0 投票
1 回答
1041 浏览

python - python中的xml缺少元素

系统在 python 2.7.2 中使用 dom 解析器。目标是提取 .db 文件并在 sql server 上使用它。我目前对 sqlite3 库没有问题。我已经阅读了有关如何在解析 xml 文件时处理丢失元素的类似问题/答案。但我仍然无法找出解决方案。xml 有 15000 多个元素。这是来自xml的基本代码:

与第三个元素一样,有几个元素没有节点。这会导致元素编号不一致。IE

运行模块后:

由于这个问题,对元素进行排序会出现问题。在打印表格时,解析器传递了丢失的元素并且元素顺序被混淆了。我使用一个简单的 while 循环将值插入到表中。

我还能怎么做?任何帮助将不胜感激。

优素福