【发布时间】:2013-05-21 18:44:21
【问题描述】:
我正在使用 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'
这是我写的sn-p代码:
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?
提前致谢。
【问题讨论】:
标签: python xml python-2.7 lxml xml-namespaces