Questions tagged «elementtree»

6
通过'ElementTree'在Python中使用名称空间解析XML
我有以下要使用Python解析的XML ElementTree: <rdf:RDF xml:base="http://dbpedia.org/ontology/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:owl="http://www.w3.org/2002/07/owl#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns="http://dbpedia.org/ontology/"> <owl:Class rdf:about="http://dbpedia.org/ontology/BasketballLeague"> <rdfs:label xml:lang="en">basketball league</rdfs:label> <rdfs:comment xml:lang="en"> a group of sports teams that compete against each other in Basketball </rdfs:comment> </owl:Class> </rdf:RDF> 我想找到所有owl:Class标签,然后提取其中所有rdfs:label实例的值。我正在使用以下代码: tree = ET.parse("filename") root = tree.getroot() root.findall('owl:Class') 由于命名空间的原因,出现以下错误。 SyntaxError: prefix 'owl' not found in prefix map 我尝试阅读http://effbot.org/zone/element-namespaces.htm上的文档,但由于上述XML具有多个嵌套的名称空间,因此仍然无法正常工作。 请让我知道如何更改代码以查找所有owl:Class标签。

9
Python ElementTree模块:使用方法“ find”,“ findall”时,如何忽略XML文件的命名空间以找到匹配的元素
我想使用“ findall”方法在ElementTree模块中找到源xml文件的某些元素。 但是,源xml文件(test.xml)具有名称空间。我截断一部分xml文件作为示例: <?xml version="1.0" encoding="iso-8859-1"?> <XML_HEADER xmlns="http://www.test.com"> <TYPE>Updates</TYPE> <DATE>9/26/2012 10:30:34 AM</DATE> <COPYRIGHT_NOTICE>All Rights Reserved.</COPYRIGHT_NOTICE> <LICENSE>newlicense.htm</LICENSE> <DEAL_LEVEL> <PAID_OFF>N</PAID_OFF> </DEAL_LEVEL> </XML_HEADER> 示例python代码如下: from xml.etree import ElementTree as ET tree = ET.parse(r"test.xml") el1 = tree.findall("DEAL_LEVEL/PAID_OFF") # Return None el2 = tree.findall("{http://www.test.com}DEAL_LEVEL/{http://www.test.com}PAID_OFF") # Return <Element '{http://www.test.com}DEAL_LEVEL/PAID_OFF' at 0xb78b90> 尽管它可以工作,但是因为有一个命名空间“ {http://www.test.com}”,但是在每个标签前面添加一个命名空间非常不方便。 使用“ find”,“ findall”等方法时,如何忽略名称空间?

3
将Python ElementTree转换为字符串
每当我致电时ElementTree.tostring(e),都会收到以下错误消息: AttributeError: 'Element' object has no attribute 'getroot' 还有其他方法可以将ElementTree对象转换为XML字符串吗? 追溯: Traceback (most recent call last): File "Development/Python/REObjectSort/REObjectResolver.py", line 145, in <module> cm = integrateDataWithCsv(cm, csvm) File "Development/Python/REObjectSort/REObjectResolver.py", line 137, in integrateDataWithCsv xmlstr = ElementTree.tostring(et.getroot(),encoding='utf8',method='xml') AttributeError: 'Element' object has no attribute 'getroot'

4
XML解析-ElementTree与SAX和DOM
Python有几种解析XML的方法... 我了解使用SAX解析的基本知识。它具有事件驱动的API,可充当流解析器。 我也了解DOM解析器。它将XML读取到内存中,并将其转换为可以使用Python访问的对象。 一般来说,根据您需要执行的操作,内存限制,性能等,在这两者之间进行选择很容易。 (希望到目前为止我是对的。) 从Python 2.5开始,我们还有ElementTree。与DOM和SAX相比如何?哪个更相似?为什么比以前的解析器更好?
74 python  xml  dom  sax  elementtree 

11
如何使用xml.etree.ElementTree编写XML声明
我正在使用Python在Python中生成XML文档ElementTree,但是在转换为纯文本时,该tostring函数不包含XML声明。 from xml.etree.ElementTree import Element, tostring document = Element('outer') node = SubElement(document, 'inner') node.NewValue = 1 print tostring(document) # Outputs "<outer><inner /></outer>" 我需要我的字符串包含以下XML声明: <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 但是,似乎没有任何记录的方式来执行此操作。 有没有合适的方法来呈现XML声明ElementTree?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.