我正在使用lxml库...我在名为
的xml
文件中有一个标签
<a:rPr lang="en-US" dirty="0" smtClean="0"/>
前缀a
指的是命名空间
a="http://schemas.openxmlformats.org/drawingml/2006/main"^
当我使用lxml-Xpath将标记名称设为a:rPr
时,我得到的结果为{http://schemas.openxmlformats.org/drawingml/2006/main}rPr'
以下是我编写的代码段:
if doc == 'file.xml':
file = etree.parse(my_directory+doc)
path = file.xpath('/p:sld/p:cSld/p:spTree/p:sp/p:txBody/a:p/a:r/a:rPr', namespaces={'p':'http://schemas.openxmlformats.org/presentationml/2006/main',
'a':'http://schemas.openxmlformats.org/drawingml/2006/main'})
#print path
for a in path:
print a.tag
我使用了xml.minidom,我可以使用a.nodeName
来获取标记名,但我不知道哪个函数可以在lxml中为我提供没有名称空间的标记名称a:rPr
?
提前谢谢。
答案 0 :(得分:0)
使用xpath的name()
:
for a in path:
print a.xpath('name()') # prints a:rPr
希望有所帮助。