如何使用ElementTree访问NS属性
以下是:
<;数据xmlns=”http://www.foo.net/a“xmlns:a=”http://www.foo.net/a“book=“1”category=“ABS”date=“2009-12-22”>;
当我尝试root.get(’xmlns’)时,我没有得到任何回复,类别和日期都可以,非常感谢您的帮助
我想element.tag就是你要找的。请注意,您的示例缺少尾部斜杠,因此它是不平衡的,无法解析。我在示例中添加了一个
>&燃气轮机&燃气轮机;从xml.etree导入ElementTree作为ET
&燃气轮机&燃气轮机&燃气轮机;数据=“”<;数据xmlns=”http://www.foo.net/a"
... xmlns:a=”http://www.foo.net/a"
... book=“1”category=“ABS”date=“2009-12-22”/>;”
&燃气轮机&燃气轮机&燃气轮机;元素=ET.fromstring(数据)
&燃气轮机&燃气轮机&燃气轮机;要素
<;元素{http://www.foo.net/a}数据位于1013b74d0>;
&燃气轮机&燃气轮机&燃气轮机;element.tag
'{http://www.foo.net/a}数据的
&燃气轮机&燃气轮机&燃气轮机;元素属性
{'category':'ABS','date':'2009-12-22','book':'1'}
如果您只想知道xmlns URI,可以使用如下函数将其拆分:
定义标记uri和名称(元素):
如果元素标记[0]=“{”:
uri,ignore,tag=elem.tag[1:].partition(“}”)
其他:
uri=无
tag=elem.tag
返回uri,标记
有关ElementTree中名称空间和限定名称的更多信息,请参阅effbot的示例