gpt4 book ai didi

python - Python 中的嵌套 XML 标记

转载 作者:太空宇宙 更新时间:2023-11-04 03:46:53 24 4
gpt4 key购买 nike

我有一个嵌套的 XML,如下所示:

<data>foo <data1>hello</data1> bar</data>

我正在使用 minidom,但无论我如何尝试获取“数据”之间的值,我都只能得到“foo”而不是“bar”

如果 XML 是这样的,那就更糟了:

<data><data1>hello</data1> bar</data>

我只得到一个“无”,根据上面的逻辑这是正确的。所以我遇到了这个:http://levdev.wordpress.com/2011/07/29/get-xml-element-value-in-python-using-minidom并得出结论,这是由于 minidom 的限制?

所以我使用了那个博客中的方法,现在我得到了

foo <data1>hello</data1> bar

<data1>hello</data1> bar

这是可以接受的。但是,如果我尝试使用上面的输出作为节点值来创建一个新节点 (createTextNode),则 XML 将变为:

<data>foo &lt;data1&gt;hello&lt;/data1&gt; bar</data>

<data>&lt;data1&gt;hello&lt;/data1&gt; bar</data>

有什么方法可以让我创建它,使其看起来像原来的一样?谢谢。

最佳答案

您可以使用 element tree For xml 它对于节点的检索和创建都非常有效

看看下面的链接

element tree -- tutorials mixed xml

一些创建节点的例子

import xml.etree.ElementTree as ET

data = ET.Element('data')

data1= ET.SubElement(data, 'data1',attr="value")
data1.text="hello"
data.text="bar"
data1.tail="some code"
ET.dump(data)

输出:<data>bar<data1 attr="value">hello</data1>some code</data>

关于python - Python 中的嵌套 XML 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23331634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com