jjzjj

elementtree

全部标签

python - 有没有办法从 ElementTree 元素中获取行号

所以我正在使用Python3.2.1的cElementTree解析一些XML文件,在解析过程中我注意到一些标签缺少属性信息。我想知道是否有任何简单的方法可以在xml文件中获取这些元素的行号。 最佳答案 查看文档,我发现没有办法用cElementTree做到这一点。但是我很幸运lxmls版本的XML实现。使用libxml2,它应该几乎是一个替代品。元素有一个sourceline属性。(以及获得许多其他XML功能)。唯一需要注意的是,我只在python2.x中使用过它-不确定它如何/是否在3.x下工作-但可能值得一看。附录:他们在首页上

python - 在 Python 中使用 ElementTree 更改命名空间前缀

默认情况下,当您调用ElementTree.parse(someXMLfile)时,PythonElementTree库会在每个解析的节点前面加上Clark表示法中的命名空间URI:{http://example.org/namespace/spec}mynodeThismakesaccessingspecificnodesbynameahugepainlaterinthecode.I'vereadthroughthedocsonElementTreeandnamespacesanditlooksliketheiterparse()functionshouldallowmetoalte

python - 在 Python 中使用 ElementTree 更改命名空间前缀

默认情况下,当您调用ElementTree.parse(someXMLfile)时,PythonElementTree库会在每个解析的节点前面加上Clark表示法中的命名空间URI:{http://example.org/namespace/spec}mynodeThismakesaccessingspecificnodesbynameahugepainlaterinthecode.I'vereadthroughthedocsonElementTreeandnamespacesanditlooksliketheiterparse()functionshouldallowmetoalte

python - 如何以与命名空间无关的方式在 Python 中通过 XPath 查找 XML 元素?

自从我第二次遇到这个烦人的问题以来,我认为询问会有所帮助。有时我必须从XML文档中获取元素,但是这样做的方法很尴尬。我想知道一个python库,它可以做我想做的事,一种优雅的方式来制定我的XPaths,一种在前缀中自动注册命名空间的方法,或者在内置XML实现或lxml中隐藏的首选项以剥离命名空间完全地。除非你已经知道我想要什么,否则澄清如下:)示例文档:我能做什么ElementTreeAPI是唯一(我知道的)提供XPath查询的内置API。但它要求我使用“UNames”。这看起来像这样:/{http://really-long-namespace.uri}root/{http://wi

python - 如何以与命名空间无关的方式在 Python 中通过 XPath 查找 XML 元素?

自从我第二次遇到这个烦人的问题以来,我认为询问会有所帮助。有时我必须从XML文档中获取元素,但是这样做的方法很尴尬。我想知道一个python库,它可以做我想做的事,一种优雅的方式来制定我的XPaths,一种在前缀中自动注册命名空间的方法,或者在内置XML实现或lxml中隐藏的首选项以剥离命名空间完全地。除非你已经知道我想要什么,否则澄清如下:)示例文档:我能做什么ElementTreeAPI是唯一(我知道的)提供XPath查询的内置API。但它要求我使用“UNames”。这看起来像这样:/{http://really-long-namespace.uri}root/{http://wi

python - 在 Python 中使用 elementTree 搜索和删除元素

我有一个XML文档,我想在其中搜索某些元素以及它们是否符合某些条件我想删除它们但是,我似乎无法访问该元素的父元素以便将其删除file=open('test.xml',"r")elem=ElementTree.parse(file)namespace="{http://somens}"props=elem.findall('.//{0}prop'.format(namespace))forpropinprops:type=prop.attrib.get('type',None)iftype=='json':value=json.loads(prop.attrib['value'])ifv

python - 在 Python 中使用 elementTree 搜索和删除元素

我有一个XML文档,我想在其中搜索某些元素以及它们是否符合某些条件我想删除它们但是,我似乎无法访问该元素的父元素以便将其删除file=open('test.xml',"r")elem=ElementTree.parse(file)namespace="{http://somens}"props=elem.findall('.//{0}prop'.format(namespace))forpropinprops:type=prop.attrib.get('type',None)iftype=='json':value=json.loads(prop.attrib['value'])ifv

Python ElementTree 默认命名空间?

有没有办法在pythonElementTree中定义默认/无前缀命名空间?这似乎不起作用...ns={"":"http://maven.apache.org/POM/4.0.0"}pom=xml.etree.ElementTree.parse("pom.xml")print(pom.findall("version",ns))这也不是:ns={None:"http://maven.apache.org/POM/4.0.0"}pom=xml.etree.ElementTree.parse("pom.xml")print(pom.findall("version",ns))确实如此,但我必

Python ElementTree 默认命名空间?

有没有办法在pythonElementTree中定义默认/无前缀命名空间?这似乎不起作用...ns={"":"http://maven.apache.org/POM/4.0.0"}pom=xml.etree.ElementTree.parse("pom.xml")print(pom.findall("version",ns))这也不是:ns={None:"http://maven.apache.org/POM/4.0.0"}pom=xml.etree.ElementTree.parse("pom.xml")print(pom.findall("version",ns))确实如此,但我必

Python ElementTree 支持解析未知 XML 实体?

我有一组super简单的XML文件要解析...但是...它们使用自定义定义的实体。我不需要将这些映射到字符,但我确实希望对每个字符进行解析和操作。例如:[admin_level]='5'&maxscale_zoom11;http://effbot.org/elementtree/elementtree-xmlparser.htm上有一个诱人的提示。XMLParser对实体的支持有限,但我找不到提到的方法,一切都会出错:#!/usr/bin/python####Where'stheentitysupportasdocumentedat:##http://effbot.org/elemen