由于你的代码使用parseString和getElementsByTagName
,我假设你正在使用minidom。在这种情况下,尝试:
dom.getElementsByTagNameNS('*', 'Scopes')
它不会在the docs这么说,但如果你在xml/dom/minidom.py
的源代码看,你会看到getElementsByTagNameNS
电话_get_elements_by_tagName_ns_helper
这是这样定义的:
def _get_elements_by_tagName_ns_helper(parent, nsURI, localName, rc):
for node in parent.childNodes:
if node.nodeType == Node.ELEMENT_NODE:
if ((localName == "*" or node.localName == localName) and
(nsURI == "*" or node.namespaceURI == nsURI)):
rc.append(node)
_get_elements_by_tagName_ns_helper(node, nsURI, localName, rc)
return rc
注意,当nsURI
等于*
,只有localName
需要匹配。
例如,
import xml.dom.minidom as minidom
content = '''<root xmlns:f="foo"><f:test/><f:test/></root>'''
dom = minidom.parseString(content)
for n in dom.getElementsByTagNameNS('*', 'test'):
print(n.toxml())
# <f:test/>
# <f:test/>