lxml重复的子元素

时间:2018-01-15 10:28:37

标签: python python-2.7 lxml

如何使用check in lxml添加元素。 我在python(2.7)中使用lxml(4.1.1)创建了一个xml。

我面临的问题是在xml中添加了重复元素。 例如 -

  <parent>
    <child>text1</child>
    <child>text2</child>
   </parent>

child = <child>text3</child>
dup_child = <child>text3</child>

所以我想要的是

之后
parent.append_child_with_check(child) 

xml应该成为

 <parent>
    <child>text1</child>
    <child>text2</child>
    <child>text3</child>
   </parent> 

之后

parent.append_child_with_check(dup_child)

Xml应该与我尝试添加重复元素保持一致。

     <parent>
        <child>text1</child>
        <child>text2</child>
        <child>text3</child>
       </parent>

目前我正在检查父项的所有元素,如果我找到匹配项,我会中断循环并退出而不添加,但随着子项数量的增加,性能会下降。 和以前一样,每次添加所有子项都要迭代以检查重复项。 由于哈希 eq 是从对象继承而在lxml元素中没有意义,因此无法在此处使用set或dict。

请建议如何实施append_child_with_check(child)以提高性能或如果我做错了或错过了现有的库或方法

孩子本身可以是一个lxml树

0 个答案:

没有答案