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

python - 使用 Python ElementTree 迭代多个(父、子)节点

Python (2.6) 的 ElementTree 的标准实现不提供从子节点指向父节点的指针。因此,如果需要父母,建议循环父母而不是孩子。

考虑我的 xml 的形式:

以下查找所有“Para”节点而不考虑父节点:

这(改编自 effbot)通过循环而不是子节点来存储父节点:

这是非常有意义的,并且可以通过条件扩展以实现与(1)相同的结果,但添加了父信息:

ElementTree 文档建议 getiterator() 方法进行深度优先搜索。在不寻找父级 (1) 的情况下运行它会产生:

但是,从 (3) 中的 paras 中提取文本会产生:

这似乎是广度优先。

因此,这提出了两个问题。

  1. 这是正确和预期的行为吗?
  2. 当孩子必须是某种类型但父母可以是任何东西时,如果必须保持文档顺序,你如何提取(父母,孩子)元组。我不认为运行两个循环并将(3)生成的(父,子)映射到(1)生成的订单是理想的。
0 投票
2 回答
9272 浏览

python - 使用元素树解析 XML 文件

我有大量的 .xml 文件(大约 70 个),我需要从中提取一些坐标。显然,最好的方法是使用元素树解析 xml 文件。我是 python 新手(非常非常新!)并且很难理解元素树附带的所有文档!我想知道是否有人在他们使用过元素树的地方有任何代码,或者是否有人可以向我解释如何去做。谢谢!

这是我的 XML 文件中的一个示例。

我需要提取上下角坐标(lowerCorner/upperCorner)

更新:这是我的完整脚本:

我现在收到错误:

消息文件名行位置
回溯
D:\J040083\TXT_EXTRACTION.py 32
解析 C:\Python25\Lib\xml\etree\ElementTree.py 862
解析 C:\Python25\Lib\xml\etree\ElementTree.py 579
IOError: [ Errno 13] 权限被拒绝:'D:/J040083'

现在我真的很困惑,因为我能够使用与这个几乎完全相同的不同脚本访问这些文件!

0 投票
1 回答
725 浏览

python - 使用多处理划分和征服 etree.iterparse

所以让我们想象一个我们想要使用 cElementTree.iterparse 进行迭代解析的大型 xml 文档(文件大小 > 100 mb)。

但是英特尔向我们承诺的所有这些内核都是值得的,我们如何使用它们?这就是我想要的:

这似乎有几个问题,尤其是 iterparse() 返回的迭代器似乎抵制切片。

有没有办法将大型 xml 文档的解析工作量分成两个或四个单独的任务(不将整个文档加载到内存中?目的是在单独的处理器上执行任务。

0 投票
8 回答
12799 浏览

python - lxml.etree,element.text 不会从元素返回整个文本

我通过 xpath 报废了一些 html,然后将其转换为 etree。与此类似的东西:

但是当我调用element.text时,我只得到text1(它必须在那里,当我在FireBug中检查我的查询时,元素的文本被突出显示,嵌入锚元素之前和之后的文本......

0 投票
2 回答
1663 浏览

python - 使用 Python ElementTree 递归设置 XML 文件的值?

我得到了一个如下的 XML 文件。

如何对子节点的值求和以递归地设置父节点?

0 投票
2 回答
29912 浏览

python - 使用 Python/ElementTree 为 XML 中的元素插入节点

我需要在值小于5的时候遍历XML树添加子元素,比如这个XML可以修改成

这个 XML。

如何使用 Python 的 ElementTree 做到这一点?

0 投票
2 回答
1156 浏览

c++ - Python 的 xml.etree.ElementTree 等效于 C++ XML 库

我发现xml.etree.ElementTree库非常通用且方便的 XML 处理器。C++ 怎么样?我找到了一些 C++ XML 工具(Xerces-C++、TinyXml),但它更像xml.dom

0 投票
2 回答
16965 浏览

python - 在 ElementTree/Python 中使用多个属性查找事件

我有以下 XML。

问:如何找到节点<testcase name="VHDL_BUILD_Passthrough" status="run" time="0" classname="TestOne" />?我找到了 function tree.find(),但这个函数的参数似乎是元素名称。

我需要根据属性找到节点:name = "VHDL_BUILD_Passthrough" AND classname="TestOne"

0 投票
3 回答
5955 浏览

python - 使用元素树读取 xml 文件

我有一个 xml 文件。它的样子,

我试过这样......

但它显示一个错误

现在我想使用元素树分别获取所有 ChapterNo、ChapterName 等,我想将这些 dat 插入数据库....任何人都可以帮助我吗?

Rgds,

尼米

0 投票
2 回答
8467 浏览

python - Retrieve multiple xml items in a loop with elementtree

I'm trying to loop over an xml file with elementtree. The file looks a bit like this:

After reading this with elementtree, I can do this:

But with one loop, I'd like to get the price too... Something like this...

...but I can't. Not sure what's next - do I need to do another "find" per "element"?

Many thanks for any help!