xml在python中缺少元素

2024-05-23 23:23:06 发布

您现在位置:Python中文网/ 问答频道 /正文

系统使用python2.7.2中的dom解析器。目标是提取.db文件并在sql server上使用它。我已经读过关于在解析xml时如何处理丢失元素的类似问题/答案文件。但是我还是想不出解决办法。有15000多个xml元素。以下是来自xml的基本代码:

<topo>
   <vlancard>
      <id>4545</id>
      <nodeValue>21</nodeValue>
      <vlanName>voice</vlanName>
   </vlancard>
   <vlancard>
      <id>1234</id>
      <nodeValue>42</nodeValue>
      <vlanName>camera</vlanName>
   </vlancard>
   <vlancard>
      <id>9876</id>
      <nodeValue>84</nodeValue>
   </vlancard>
</topo>

与第三个元素一样,有几个元素没有节点。这会导致元素编号不一致。i、 e

^{pr2}$

运行模块后:

IndexError: list index out of range
>>> len(id)
16163
>>> len(vlanName)
16155

由于这个问题,在排序元素时会出现问题。在打印表时,解析器传递丢失的元素,元素顺序被混淆。我使用一个简单的while循环将值插入表中。在

x=0
while x < (len(vlId)):
    c.execute('''insert into vlan ('id','nodeValue','vlanName') values ('%s','%s','%s') ''' %(id[x].firstChild.nodeValue, nodeValue[x].firstChild.nodeValue, vlanName[x].firstChild.nodeValue))
    x= x+1

我还能怎么做?任何帮助都将不胜感激。在

优素福


Tags: 文件id解析器元素目标len系统xml