首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析XML时在函数中抛出未知键错误,但可在命令提示符下工作

解析XML时在函数中抛出未知键错误,但可在命令提示符下工作
EN

Stack Overflow用户
提问于 2016-09-24 01:00:58
回答 1查看 157关注 0票数 0

我在Anaconda 4.1.1中运行Python 2.7.12。我安装untangle是为了解析一个相当复杂的XML文档。

下面是我的代码:

代码语言:javascript
复制
import untangle

obj = untangle.parse('ear.xml')

for rd in obj.SaData.Session.Test.Data.RecordedData:
    tls = rd.Measured.TestLines
    tl = tls.Testline
    for line in tl:
        snl = line.SnLevel.cdata
        pn = line.PresentNoise.cdata
        print snl + " " + pn   

这将返回以下错误消息:

IndexError:未知密钥

但是如果我立即从命令提示符运行tl = tls.Testline,我不会得到任何错误。

一定要简单,但我是个菜鸟,所以我很感激。

编辑:我无法附加文件,并且完全展开的XML太大,无法在此处输入。我将尝试呈现一个部分展开的版本,以便对文件的组织方式有一些了解。

代码语言:javascript
复制
<SaData Version="2" xsi:schemaLocation="uuid:ee2fbfd9-47a5-4dc8-a9eb-42d9995802ab SaData.xsd">
<ClientInfo></ClientInfo>
<Session><Platform FirmwareVersion=""></Platform><Created>2016-09-21T11:08:58</Created>
<Changed>2016-09-21T11:08:58</Changed>
<Module Version="2.0.0.0">DPOAE</Module>
<ProtocolName>DP 2 - 10 kHz (8/octave)</ProtocolName>
<Settings></Settings>
<Test><TestName>DP-Gram</TestName>
<Settings></Settings>
<Data>
<RecordedData>
<Settings></Settings>
<Measured>
<Earside>Left</Earside>
<TestType>DPGram</TestType>
<Readonly>false</Readonly>
<PeakPressure>-5</PeakPressure>
<TestStatus>9</TestStatus>
<TestLines>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
<TestLine></TestLine>
</TestLines>
<TimeStamp>2016-09-19T12:28:11.7110965-05:00</TimeStamp><Duration>PT1M30S</Duration>
</Measured>
<Calculated></Calculated>
<PrivateData></PrivateData>
</RecordedData><
RecordedData></RecordedData>
</Data>
</Test>
</Session></SaData>
EN

回答 1

Stack Overflow用户

发布于 2016-09-24 03:04:23

那是个愚蠢的打字错误。当我应该写TestLine的时候,我却写了Testline。很抱歉浪费大家的时间。

黛西

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39666022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档