jjzjj

ElementTree

全部标签

python - 使用 Python ElementTree 读取包含多个顶级项目的 XML?

如果XML有多个顶级项,我如何使用PythonElementTree读取XML文件?我有一个XML文件,我想使用PythonElementTree读取它。不幸的是,它有多个顶级标签。我会包装...在XML周围,除了我必须把之后和领域。但弄清楚在哪里ends是不平凡的。我有什么:]>............我想要的:]>............注意标签ARTICLE的名称可能会更改,因此我无法对其进行grep。任何人都可以向我建议如何添加封闭的...在XMLheader之后,还是建议另一种解决方法? 最佳答案 我编写了以下函数来在XM

python /元素树 : Write to file without namespaces

我正在尝试将ElementTree对象写入磁盘。一切正常,除了输出文件如下所示:vocab...因为它有html:命名空间信息,所以浏览器无法呈现它。如果没有html:命名空间信息,我如何让etree将一些html保存到磁盘?这是我用来编写的代码:withopen('/path/to/file.html',mode='w',encoding='utf-8')asoutfile:mypage.write(outfile)谢谢! 最佳答案 我一直在使用这个解决方法:fromxml.etreeimportElementTreeasETET

Python 元素树 : Ignore undefined prefixes

我有很多从各种来源收集的XML“片段”。由于这些不是完全形成的XML文档,因此很多文档没有声明它们的标签前缀,例如像paragraphtext这样的标签使用Python中的ElementTree来解析这些,我经常会遇到无界前缀错误。是否有一个开关可以让解析器一起忽略所有前缀? 最佳答案 我不认为你可以同时使用lxml和elementtree。XMLParser上的选项是有限的。错误消息来自expat解析器库。处理它的方法是在解析之前声明一个命名空间。在XPath中,有一种方法可以只获取本地名称//*[local-name()='p'

python - 以编程方式清理/忽略 XML 中的 namespace - python

我正在尝试编写一个简单的程序来从GNUCash读取我的财务XML文件,并在此过程中学习Python。XML看起来像这样:191314601aa6afd17727c44657419974a808261ISO4217BRLcurrency现在,我可以使用进行迭代并获得结果importxml.etree.ElementTreeasETr=ET.parse("file.xml").findall('.//')在手动清理命名空间之后,但我正在寻找一种解决方案,它可以读取条目而不管它们的命名空间如何,或者在解析之前删除命名空间。请注意,我是Python的完全菜鸟,我读过:PythonandGnuC

python - 解析 Stackoverflow Posts.xml 数据转储文件使程序崩溃,给出 ascii 编码错误

我已经下载了Stackoverflow2013年6月的数据转储,现在正在解析XML文件并将其存储在MySQL数据库中。我正在使用PythonElementTree来执行此操作,但它一直崩溃并给我编码错误。解析代码片段:post=open('a.xml','r')a=post.read()tree=xml.parse((a).encode('ascii','ignore'))#Ialsotried.encode('utf-8').strip()itdoesn'twork#Gettherootnoderow=tree.findall("row")它给了我以下错误:'ascii'codecc

python - 元素树 iter() 正在跳过随机元素

我试图在Python中使用ElementTree的iterparse()和iter()函数来解析XML文件。这是Google云端硬盘中文件的链接:https://drive.google.com/file/d/0B_S2Z7quow3TMl9yUk51ZzZ5UW8/view?usp=sharing.XML文件是法庭案件数据的汇编;它被分解成一系列带有标签“n-document”的元素,每个元素都包含子元素,这些子元素包含有关特定法庭案件的数据。我正在尝试提取所有摘要描述。代码的简化版本如下:importnumpyasnpimportpandasaspdimportxml.etree.

xml.etree.ElementTree 插入子节点的子节点创建无限循环 Python

我试图在大型XML文档(~2000行)中的子节点的特定子节点插入元素,下面是我的代码:importxml.etree.cElementTreeasETclassKapow_commands:tree=ET.parse('location/of/xml/file')root=tree.getroot()seq_id=39def__init__(self):passdefappend(self,block):node_num=0fornodeinKapow_commands.root[13][1]:node_num=node_num+1ifnode.get('class')=='End':

python - ElementTree XPath 奇怪的行为

你好我在Python2.7中使用ElementTree(1.3)并享受XPath功能,然而,其中一个搜索结果让我感到惊讶。我的XML示例:问题一:当我使用findall获取第一个找到的元素时version="2.2.0.0"found=list(txml.findall(".//BackEnd[@version='%s']"%version))returnfoundandfound[0]orNone它什么也没找到。然而,当我更改XML文件时,BackEnd元素包含子元素,然后正确找到搜索到的元素。你遇到过这样的行为吗?我是不是做错了什么或者这是ElementTree实现中的错误?问题二

python - 如何输出 XML 实体引用

我正在使用Pythonxml.etree.ElementTree输出XML。我想用实体引用输出它,这些实体引用将在解析XML时被替换。通常'&'被转义为&因为'&'用于声明实体引用。但是,我真的想写一个实体引用。例如,我想编写一个包含实体引用&manifestName;的XML文件:>>>fromxml.etree.ElementTreeimportElement,tostring>>>manifest=Element('manifest')>>>manifest.text='&manifestName;'>>>tostring(manifest)返回一个转义的符号:'&man

python - lxml - 是否有任何 hacky 方法来保留“?

我注意到xml实体"会自动强制转换为它们真正的原始字符:>>>fromlxmlimportetreeaset>>>parser=et.XMLParser()>>>xml=et.fromstring(""helloworld"",parser)>>>printet.tostring(xml,pretty_print=1)"helloworld">>>我找到了一个相关的old(2009-02-07)thread:s=cStringIO.StringIO(""""She'stheMAN!"""")e=etree.parse(s,etree.XMLParser(re