Tag: 元素树

将Python ElementTree转换为string

我读过文档,我知道它有关于ElementTree.tostring(e)但每当我打电话,我得到以下错误信息: AttributeError: 'Element' object has no attribute 'getroot' 有没有其他的方法来将ElementTree对象转换为XMLstring? 追溯: 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'

lxml etree xmlparser删除不需要的名称空间

我有一个XML文档,我正试图使用​​Etree.lxmlparsing <Envelope xmlns="http://www.example.com/zzz/yyy"> <Header> <Version>1</Version> </Header> <Body> some stuff <Body> <Envelope> 我的代码是: path = "path to xml file" from lxml import etree as ET parser = ET.XMLParser(ns_clean=True) dom = ET.parse(path, parser) dom.getroot() 当我试图得到dom.getroot()时,我得到: <Element {http://www.example.com/zzz/yyy}Envelope at 28adacac> 但是我只想要: <Element Envelope at 28adacac> 当我这样做 dom.getroot().find("Body") 我没有得到任何回报。 但是,当我 dom.getroot().find("{http://www.example.com/zzz/yyy}Body") 我得到了一个结果。 我认为通过ns_clean =真parsing器会阻止这一点。 有任何想法吗?

通过“ElementTree”在Python中用命名空间parsingXML

我有我想用Python的ElementTreeparsing的以下XML: <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有多个嵌套的命名空间。 请让我知道如何改变代码来find所有的owl:Class标签。