问题标签 [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.
python - Python:xml ElementTree(或 lxml)中的命名空间
我想检索一个遗留的 xml 文件,操作并保存它。
这是我的代码:
我加载的文件包含:
在根标签处。
我有以下与命名空间有关的问题:
- 如您所见,对于每个标记调用,我在开始时都给出了命名空间来检索一个孩子。
- 生成的xml文件
<?xml version="1.0" encoding="utf-8"?>
一开始没有。 - 输出中的标签包含这样的内容,
<ns0:eventDescription>
而我需要输出作为原始<eventDescription>
的,开始时没有命名空间。
这些如何解决?
python - ElementTree 实例没有属性“fromstring”。那么,我做错了什么?
我正在尝试打开并解析一些 html。到目前为止,一切正常,例如,我可以打开源代码并打印它。但是在解析时,我被“ElementTree 实例没有属性'fromstring'”所困扰
这是我的 Django view.py 代码:
Django 版本:1.2.4 Python 版本:2.6.5
请问有人有什么想法吗?
python - 在 Python 中使用 ElementTree 发出命名空间规范
我正在尝试使用包含 XML 声明和命名空间的元素树发出 XML 文件。这是我的示例代码:
但是,既不会出现<?xml
标记,也不会出现任何命名空间/前缀信息。我在这里有点困惑。
python - ElementTree XPath 奇怪的行为
嗨
,我正在使用ElementTree
(1.3) 和 Python 2.7 并享受 XPath 功能,
但是其中一个搜索结果让我感到惊讶。
我的 XML 示例:
问题1:
当我findall
用来获取第一个找到的元素时
它什么也没找到。
但是,当我更改 XML 文件时,该BackEnd
元素包含子元素,
然后正确找到搜索的元素。
你遇到过这样的行为吗?
我做错了什么还是这是ElementTree
实施中的错误?
问题 2:
我遇到的另一个问题是xmlns
.
假设我将 XML 第一行更改为包含xmlns
:
在这种情况下,我必须将查找字符串更改为:
有没有办法告诉 ElementTree 在解析期间忽略 xmlns 并将所有元素的名称(包括根)视为没有前缀?
问候,
兹比格纽
python - ElementTree 命名空间不便
我无法控制我得到的 XML 的质量。在某些情况下,它是:
在其他我得到:
我想我也应该处理
整个架构都是相同的,我只需要一个解析器来处理它。我该如何处理所有这些情况?我需要 XPath 和其他 lxml 好东西来解决这个问题。如何在 etree.parse 期间使其保持一致?我不想在每次需要使用 XPath 时检查名称空间。
python - 使用 Python 在 ElementTree 中添加兄弟元素
使用 XML 等
我需要添加类似的兄弟姐妹
ElementTree 是否具有添加兄弟节点的功能?如果没有,我想我需要一个函数来获取父节点并添加子节点,我该怎么做?
python - 带有 : 在 lxml 中的名称的标签
我正在尝试使用 lxml.etree 来解析 Wordpress 导出文档(它是 XML,有点像 RSS)。我只对已发布的帖子感兴趣,因此我使用以下内容循环浏览已发布的帖子:
data
找到所有标签的标签在哪里item
。item
标签包含帖子、页面和草稿。我的问题是 lxml 找不到:
名称中有 a 的标签(例如wp:post_type
)。当我尝试时,item.find("wp:post_type")
我收到此错误:
我假设KeyError : ':'
标签名称中的冒号是无效的。有什么方法可以转义冒号,以便 lxml 找到正确的标签?:
在这种情况下有什么特殊含义吗?还是我做错了什么?任何帮助,将不胜感激。
python - 如何在不解析整个文件的情况下获取树的根?
我正在制作一个xml 解析器来解析来自不同工具的 xml 报告,并且每个工具都会生成具有不同标签的不同报告。
例如:
Arachni生成一个带有<arachni_report></arachni_report>
树根标记的 xml 报告。
nmap生成一个带有<nmaprun></nmaprun>
树根标记的 xml 报告。
我试图不解析整个文件,除非它是来自我想要的任何工具的有效报告。
我想到的第一件事是 ElementTree,解析整个 xml 文件(假设它包含有效的 xml),然后根据树根检查报告是否属于 Arachni 或 nmap。
我目前正在使用 cElementTree,据我所知 getroot() 在这里不是一个选项,但我的目标是让这个解析器只对识别的文件进行操作,而不解析不必要的文件。
顺便说一句,我还在学习xml解析,提前谢谢。
python - Python ElementTree XML 解析
我正在尝试解析通过使用 adobe pro 将 pdf 导出为 xml 1.0 获得的 xml 文件。我正在使用 Python 和 ElementTree 进行解析。pdf 包含一个表格,该表格跨越多个页面并具有多个不同的表格标题。
我想从包含特定字符串(例如“MECHANICAL”)的标题开始的表中解析和提取行和列数据,并在下一个表标题部分(例如“COMPLETED”)停止。从而排除本节前后的所有行和列数据。没有容易解析的标签,标签模式只是重复。
这是我当前的python代码:
这是我的 XML 文件:
python - Python ElementTree 重复检查器
所以我必须编写一个“重复检查器”来比较两个 XML,看看它们是否相同(包含相同的数据)。现在因为它们来自同一个类并且是从 XSD 生成的,所以结构内部元素的顺序很可能是相同的。
我能想到的进行重复检查的最佳方法是设置两个字典(dictLeft、dictRight)并将 xpath#value 保存为键和它出现的次数。像这样的东西:
剩下:
对
比较这两个字典会给我一个相当准确的指示,表明这两个 XML 是否相同(我可能会得到错误的结果,但它非常遥远)。
还有其他人有更好的主意吗?也许 ElementTree 中有一个我不知道的函数?
编辑:为了更好地解释:
和
将被视为相同。我忽略了属性。这个想法是让代码尽可能简单,同时又不会过多地影响性能。