0

所以,我正在尝试在 python 上处理一个 XML 文件。

我正在使用 minidom,因为我在 python 2.1 中并且更新到 3.6 没有任何变化。目前,我有这个

import xml.dom.minidom as minidom
import socket
print 'Getting the xml file'
# Get the xml contents
file = open('<filepath>')
#print file
# Get the root of the configuration file
print 'Parsing the xml'
procs = minidom.parse(file)

但我收到了这个错误

获取错误

任何的想法?或者,更好的是,另一种解析 xml 的方法,而无需我编写自己的解析器......

4

1 回答 1

2

所以,我能够得到这个工作

对于初学者,在试图说服更新或安装插件后,我被告知所有 python 脚本都在运行jython,这意味着我有几个 java 库可供我使用(希望他们能早点告诉我这个)

因此,在对 xml 处理进行了一些调查后jython,我发现使用Xercesandxas是关键

如果有人想知道,这是我最后使用的代码

from java.io import StringReader

import org.xml.sax as sax
import org.apache.xerces.parsers.DOMParser as domparser

parser = domparser()
document = open('<path to file>').read()
parser.reset()
documentIS = sax.InputSource(StringReader(document))
parser.parse(documentIS)
domtree = parser.getDocument()
results = domtree.getElementsByTagName('<tag name>')
for ix in range(results.getLength()):
    item = results.item(ix).getAttribute("<attribute name>")

希望其他人觉得这很有用

于 2016-09-16T18:08:56.993 回答