在 python 上阅读 XML 2.1
Reading XML on python 2.1
所以,我正在尝试处理 python 上的 XML 文件。
我在 python 2.1 中使用 minidom,更新到 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 的方法无需我编写自己的解析器...
所以,我能够让它工作
首先,在尝试说服更新或安装插件后,我被告知所有 python 脚本都在 jython
上 运行,这意味着,我有几个java 个图书馆供我使用(希望他们能早点告诉我)
因此,在对 jython
上的 xml 处理进行一些调查后,我发现使用 Xerces
和 xas
是关键
如果有人想知道,这是我最终使用的代码
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>")
希望其他人觉得这有用
所以,我正在尝试处理 python 上的 XML 文件。
我在 python 2.1 中使用 minidom,更新到 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 的方法无需我编写自己的解析器...
所以,我能够让它工作
首先,在尝试说服更新或安装插件后,我被告知所有 python 脚本都在 jython
上 运行,这意味着,我有几个java 个图书馆供我使用(希望他们能早点告诉我)
因此,在对 jython
上的 xml 处理进行一些调查后,我发现使用 Xerces
和 xas
是关键
如果有人想知道,这是我最终使用的代码
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>")
希望其他人觉得这有用