在Python中使用ElementTree API插入xml元素作为嵌套元素。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python中使用ElementTree API插入xml元素作为嵌套元素。相关的知识,希望对你有一定的参考价值。

我必须修改一个XML文档。我正在使用Python和ElementTree API。但我遇到了一个障碍。目前的结构是这样的。

<A>
    <B>
        <C>
            <...>
            </...>
        </C>
    </B>
</A>

我必须在B上添加一个子元素B2,它是C的父元素,这样新的结构是:

<A>
    <B>
        <B2>
            <C>
                <...>
                </...>
            </C>
        </B2>
    </B>
</A>

现在当我尝试添加一个子元素时,它正在创建一个子元素,但不是作为C的父元素,新的子元素是作为一个单独的元素在B中出现的。

先谢谢你。

答案

这是个不明智的方法 只为你的参考而使用字符串连接。

from simplified_scrapy import SimplifiedDoc,req,utils
html = '''
<A>
    <B>
        <C>
            <...>
            </...>
        </C>
    </B>
</A>
'''
doc = SimplifiedDoc(html)
c = doc.select('C')
html = doc.html[0:c._start]+"<B2>"+c.outerHtml+"</B2>"+doc.html[c._end:]
print(html)

结果是这样的。

<A>
    <B>
        <B2><C>
            <...>
            </...>
        </C></B2>
    </B>
</A>

这里有更多的例子 https:/github.comyiyedatasimplified-scrapy-demoblobmasterdoc_exampleselement.py。

以上是关于在Python中使用ElementTree API插入xml元素作为嵌套元素。的主要内容,如果未能解决你的问题,请参考以下文章

Python 操作 DOM(待更)

使用 xml.etree.ElementTree 在 python 中解析 XML

使用 ElementTree 示例在 Python 中解析 XML

python的XML处理模块ElementTree

如何使用 ElementTree python 在 xml 解析器中处理 CDATA?

术业有专攻:xml.etree.ElementTree