我很想知道如何确定XML文档的根标记使用xml.dom.minidom
。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<child1></child1>
<child2></child2>
<child3></child3>
</root>
在上面的示例XML中,我的root标签可能是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,如果可能的话,我更愿意继续使用标准库。
答案 0 :(得分:1)
对于您评论为Where I am stuck
的行,以下内容应将XML文档的根标记值分配给变量theNameOfTheRootElement
:
theNameOfTheRootElement = xml.documentElement.tagName
答案 1 :(得分:0)
这是我上次处理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)