我在工作中学习Python。我有一个大型XML文件,其数据类似于:
testData3.xml文件
<r><c>something1</c><c>something1</c><c>something1</c><c>something1</c><c>something1</c><c>something1</c><c>something1</c><c>something1</c><c></c><c></c><c>something1</c><c>something1</c></r>
<r><c>something2</c><c>something2</c><c>something2</c><c>something2</c><c>something2</c><c>something2</c><c>something2</c><c>something2</c><c></c><c></c><c>something2</c><c>something2</c></r>
我从我的一本Python书籍中复制了一个XML解析器,它在数据文件只包含一行时收集数据。只要我添加第二行数据,脚本在运行时就会失败。在
我正在运行的Python脚本(xmlReader.py)公司名称:
^{pr2}$我正在寻找一些关于如何编写循环的帮助,以便xmlReader.py在整个文件中继续,而不是仅一行。运行此脚本时出现以下错误:
执行过程中的错误:
xxxx@xxxx:~/xxxx/xxxx> python xmlReader.py
Traceback (most recent call last):
File "xmlReader.py", line 2, in <module>
xmltree = parse('testData3.xml')
File "/usr/lib64/python2.6/site-packages/_xmlplus/dom/minidom.py", line 1915, in parse
return expatbuilder.parse(file)
File "/usr/lib64/python2.6/site-packages/_xmlplus/dom/expatbuilder.py", line 926, in parse
result = builder.parseFile(fp)
File "/usr/lib64/python2.6/site-packages/_xmlplus/dom/expatbuilder.py", line 207, in parseFile
parser.Parse(buffer, 0)
xml.parsers.expat.ExpatError: junk after document element: line 2, column 0
xxxx@xxxx:~/xxxx/xxxx>
问题是示例数据不是有效的XML。一个有效的XML文档应该有一个根元素;对于文件的一行来说是这样,其中
<r>
是根元素,但是在添加第二行时不是这样,因为每一行都包含在一个单独的<r>
元素中,但是文件中没有全局父元素。在要么构造有效的XML,例如:
或者逐行解析文件:
^{pr2}$相关问题 更多 >
编程相关推荐