Python 分析XML时出错:列表索引必须是整数或片,而不是Str
我正在使用Python 分析XML时出错:列表索引必须是整数或片,而不是Str,python,python-3.x,xml,parsing,Python,Python 3.x,Xml,Parsing,我正在使用untangle将XML文件转换为可读的python对象: untangler = untangle.parse(fileDir) untangler.project.matrixs.matrix['num'] # '1' XML文件的地址为: <?xml version="1.0"?> <project> <matrixs> <matrix num="1"> <height>1920</height&g
untangle
将XML文件转换为可读的python对象:
untangler = untangle.parse(fileDir)
untangler.project.matrixs.matrix['num'] # '1'
XML文件的地址为:
<?xml version="1.0"?>
<project>
<matrixs>
<matrix num="1">
<height>1920</height>
<width>1080</width>
<layout>across-back</layout>
<notes>N/A</notes>
</matrix>
</project>
1920
1080
对面
不适用
但是,当我运行这段代码时(几乎没有从文档中修改),我收到了以下错误:
Traceback (most recent call last):
File "/home/aaron/Documents/MatrixKontrol/src/saveparser.py", line 24, in <module>
saveparser()
File "/home/aaron/Documents/MatrixKontrol/src/saveparser.py", line 19, in saveparser
untangler.project.matrixs.matrix['num'] # '1'
TypeError: list indices must be integers or slices, not str
回溯(最近一次呼叫最后一次):
文件“/home/aron/Documents/MatrixKontrol/src/saveparser.py”,第24行,在
saveparser()
文件“/home/aron/Documents/MatrixKontrol/src/saveparser.py”,saveparser中的第19行
解纠缠器.project.matrix.matrix['num']#'1'
TypeError:列表索引必须是整数或片,而不是str
我知道这种列表通常不应该接受字符串,但这在我在网上看到的所有其他示例中都有效。如果您能提供任何帮助,我们将不胜感激 请共享一个几乎未修改的。。。只是放在我自己的变量名中。我不知道为什么在这个例子中它会是一个列表,解析语法是准确的。抱歉,我站在更正。您的代码在我的机器上运行(在修复了XML中的输入错误后,请检查)。Python 3.6,全新安装的
untangle
(v1.1.1)。类型是untangle.Element
,显然它支持这种类型的索引。。。是否打印(untangler.project.matrix.matrix)
打印预期数据?它将您的num
列为一个属性?