【发布时间】:2014-03-23 17:55:31
【问题描述】:
我正在解析一个 XML 文件,我希望根元素是 <data>。但是,一些用户修改了这些文件并在顶部添加了元素<?xml version="1.0" encoding="UTF-8"?>。我想检查它是否存在,然后我的测试失败以通知用户这个问题。我尝试执行以下操作,但它不断检测<data> 的正确根元素。这是我目前所拥有的。
<?xml version="1.0" encoding="UTF-8"?>
<data>
</data>
elementTree = self.param2
root = elementTree.find('.')
print root.tag
我要打印的是:
data
(这不是我所期望的)。
任何想法都将不胜感激!
【问题讨论】:
-
tree = ET.parse(xmlFile),root = tree.getroot(),print root.tag -
尝试了您的建议,我得到了相同的结果。我在根标记处得到“数据”,而不是预期的“xml”部分。
-
你的意思是:
<?xml version="1.0" encoding="UTF-8"?>?这只是 XML 文件的标题,它不是元素 -
是的。抱歉,我将它定义为元素,但我想你是对的,它是标题。想知道在 xml 文件中检测它的最佳方法是什么?
-
<?xml ...?行称为XML declaration。它不是根,因此您可以放心地忽略它。
标签: python xml xml-parsing elementtree