系统使用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
我还能怎么做?任何帮助都将不胜感激。在
优素福
不是解析整个xml然后插入,而是解析每个vlancard并检索它的id/value/name,然后将它们插入到数据库中。在
相关问题 更多 >
编程相关推荐