【问题标题】:root of the xml file is giving as NONE why?xml 文件的根目录为 NONE 为什么?
【发布时间】:2023-03-11 08:11:01
【问题描述】:
from elementtree import ElementTree as ET
tree= ET.parse(r'N:\myinternwork\files xml of bus systems\testonieeebus.xml','r')
root= tree.getroot()
print(root)

现在错误在输出中,因为它没有给出任何结果

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<author>Giada De Laurentiis</author>
</book>
</bookstore>

【问题讨论】:

  • ET= open(…) 覆盖了 ET 的先前定义; ET 现在是一个打开的文件,文件没有“解析”属性。
  • Python 自带的ElementTree 模块在xml.etree 包中。见docs.python.org/2.7/library/xml.etree.elementtree.html。但是您使用的是from elementtree import ElementTree as ET。为什么?

标签: python xml file xml-parsing elementtree


【解决方案1】:

下面的代码就足够了。您不需要在开始时打开文件。如果您提供正确的路径,ET.parse 将为您完成。

在您的代码中,您将库导入为 ET,然后通过打开文件重新分配相同的变量。所以ET.parse() 指的是你的文件对象而不是你的elementtree 库。

import xml.etree.ElementTree as ET

tree= ET.parse('note.xml')
root= tree.getroot()
print(root.tag) # to print root

【讨论】:

  • 但是即使有根,输出根也没有给出,为什么?任何帮助
  • 如果答案正确,请接受。很高兴它帮助了你
  • note.xml 是我试过的文件,你用正确的名称替换了吗?您真正想将什么打印为 str?
  • from elementtree import ElementTree as ET tree= ET.parse(r'N:\myinternwork\files xml of bus systems\testonieeebus.xml','r') root= tree.getroot() fo = open(r'N:\myinternwork\files xml of bus systems\testonieeebus.xml','r') str= fo.read(100) print str print root 我能够得到 str 但不是它给出的根没有..对不起,我不知道如何格式化注释中的代码,因为我是堆栈溢出的新手@Marlon Abeykoon
  • 我只想要它的根兄弟!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-19
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 2018-08-24
相关资源
最近更新 更多