在python中编辑特定节点的libxml2

在python中编辑特定节点的libxml2,python,xml,libxml2,Python,Xml,Libxml2,我将python与libxml2一起用于Web应用程序。 我需要将其中一篇文章的xml节点子项添加到具有以下结构的xml中: <?xml version="1.0" encoding="UTF-8"?> <archive> <article>text<span>tag</span></article> <article>text2<span>tag2</span></ar

我将python与libxml2一起用于Web应用程序。 我需要将其中一篇文章的xml节点子项添加到具有以下结构的xml中:

<?xml version="1.0" encoding="UTF-8"?>
<archive>
   <article>text<span>tag</span></article>
   <article>text2<span>tag2</span></article>
   <article>text3<span>tag3</span></article>
</archive>

漂浮文字
text2tag2
text3tag3
结果一定是这样的:

 <?xml version="1.0" encoding="UTF-8"?>
 <archive>
    <article>text<span>tag</span></article>
    <article>text2<span>tag2</span><counter count='1'/></article>
    <article>text3<span>tag3</span></article>
 </archive>

漂浮文字
text2tag2
text3tag3
对不起,英语不好

编辑:webclient将指定何时需要添加计数器节点。 我的问题是找不到选择需要修改的节点的方法。
我可以修改xml文档,将子元素添加到根元素中。我在根元素以外的元素中找不到这样做的方法。如果您可以将XPath结果缩小到单个节点,则此代码将起作用:

#!/usr/bin/env python

import libxml2

doc = libxml2.parseFile("foo.xml")

nodes=doc.xpathEval('/archive/article[2]')
newElement = nodes[0].newChild(None, 'counter', None)
newElement.newProp('count', '1')
print nodes[0].serialize()

doc.freeDoc()

1.添加计数器2的规则是什么。您尝试过什么?当我收到客户机的请求时(客户机指定我需要修改),我需要添加一个计数器,但是没有计数器(如果有,我需要提高计数器)。我找不到关于libxml2和python的好文档(我尝试了xpath,但它返回的是元素列表而不是指向xml的指针),请尝试LXML,遗憾的是我找不到。我无法控制需要这样做的系统。