我有一个如下所示的xml文件:
<!DOCTYPE ROOT SYSTEM "zombie.dtd">
<ROOT>
<row>
<field name="buildid">26960</field>
<field name="cast(status as char)">Filesystem 1K-blocks Used Available Use% Mounted on
C:cygwinin 285217976 88055920 197162056 31% /usr/bin
C:cygwinlib 285217976 88055920 197162056 31% /usr/lib
C:cygwin 285217976 88055920 197162056 31% /
c: 285217976 88055920 197162056 31% /cygdrive/c
d: 285217976 88055920 197162056 31% /cygdrive/d</field>
<field name="eventtime">2011-05-25 16:26:09</field>
<field name="schedulerid">13</field>
</row>
我试图解析出各个字段(buildid、status、eventtime等),但由于所有函数调用的结果,我没有得到任何结果,我正在做的是:
^{pr2}$有人能告诉我我做错了什么吗?在
谢谢
您应该得到zombie的
text
属性,而不是使用它的get()
方法。这将为您提供de<field>
标记中的内容。在另外,如果您使用的是ElementTree,请看一下
lxml
模块,它通常比ET更好,并且完全支持XPath 1.0表达式(您可以使用它很容易地根据元素的名称查找元素)。在您的
zombie
是一个<row>
元素,而不是您想要的<field>
元素。当您对其调用get()
时,您试图获取<row>
元素的属性,但是您需要的是具有该id的<field>
元素的节点值如果您有Python 2.7,则可以使用ElementTree的部分XPath支持来找到正确的元素:
相关问题 更多 >
编程相关推荐