如何确定 XML 文档的根标签名称

How to determine what the root tag name is for a XML document

我想知道如何确定 XML 文档的根标签使用的是什么 xml.dom.minidom

<?xml version="1.0" encoding="UTF-8"?>
<root>
    <child1></child1>
    <child2></child2>
    <child3></child3>
</root>

在上面的示例 XML 中,我的根标签可能是 3 或 4 个不同的东西。我只想拉取标签,然后使用该值通过标签名称获取元素。

def import_from_XML(self, file_name)
    file = open(file_name)
    document = file.read()
    if re.compile('^<\?xml').match(document):
        xml = parseString(document)
        root = ''  # <-- THIS IS WHERE IM STUCK
        elements = xml.getElementsByTagName(root)

我试着在文档中搜索 xml.dom.minidom,但我有点难以理解,我找不到任何可以直接回答这个问题的东西。

我正在使用 Python 3.6.x,如果可能的话,我更愿意使用标准库。

对于您注释为 Where I am stuck 的行,下面应将 XML 文档的根标记的值赋给变量 theNameOfTheRootElement:

theNameOfTheRootElement = xml.documentElement.tagName

这是我上次处理 xml 时所做的。我没有使用你使用的方法,但我希望它能帮助你。

import urllib2
from xml.etree import ElementTree as ET
req = urllib2.Request(site)
file=None
try:
    file = urllib2.urlopen(req)
except urllib2.URLError as e:
    print e.reason

data = file.read()
file.close()

root = ET.fromstring(data)
print("root",  root)

for child in root.findall('parent element'):
    print(child.text, child.attrib)