使用python

时间:2015-07-06 16:14:58

标签: python xml

我有两个XML文件,我可以成功比较。我对逻辑有一点怀疑,我实现了照顾秩序。以下是两个XML文件:

文件:

<m1:time timeinterval="5">

   <m1:vehicle distance="40" speed="5"\>
   <m1:location hours = "1" path = '1'\>
      <m1:feature color="2" type="a">564</m1:feature>
      <m1:feature color="3" type="b">570</m1:feature>
      <m1:feature color="4" type="c">570</m1:feature>
   <\m1:location>

   <m1:location hours = "5" path = '1'\>
      <m1:feature color="6" type="a">560</m1:feature>
      <m1:feature color="7" type="b">570</m1:feature>
      <m1:feature color="8" type="c">580</m1:feature>   
   <\m1:location>
</m1:time>

B档

<m1:time timeinterval="6">

   <m1:vehicle distance="40" speed="5"\>
   <m1:location hours = "5" path = '1'\>
      <m1:feature color="6" type="a">560</m1:feature>
      <m1:feature color="7" type="b">570</m1:feature>
      <m1:feature color="8" type="c">580</m1:feature>   
   <\m1:location>

   <m1:location hours = "1" path = '1'\>
      <m1:feature color="2" type="a">564</m1:feature>
      <m1:feature color="3" type="b">570</m1:feature>
      <m1:feature color="4" type="c">570</m1:feature>
   <\m1:location>
</m1:time>

我尝试了什么:

当我之前问过这个问题时,我没有考虑到逻辑的任何实现,但是现在我实现了一个逻辑,其中我已经在列表列表中存储了'hours'和'path'的值这两个文件的格式如下:

         [hours,path]
A_list = [[1,1],[5,1]]

B_list = [[5,1],[1,1]] 

现在我愿意将每个A_list列表与每个B_list列表进行比较,以检查颜色,类型属性的相等性。

我想要的是什么:

如果B_list的内容与A_list匹配,那么两个文件中[1,1]的所有等效子元素将被比较并打印差异,并且[5,1]的内容相同。此外,输出将遵循A文件的顺序。由于两个文件的大小都在4到5 MB之上,并且这样的列表存在于大量使用“set”方法不起作用。

此外,我也完全陷入困境,想到这种方法在比较两个只包含数字的列表后会得到正确位置元素的特征属性,这些属性位于巨大的xml文件中。欢迎所有的想法和建议

感谢你们经历过各种各样的人。

0 个答案:

没有答案