python - 使用 ElementTree 添加子元素

标签 python xml elementtree

下面的代码应该向给定的 XML 元素添加子元素,但出现错误:

xml.SubElement(new,xml.Element(self.XMLEntriesList['RiverCallPower'])) TypeError: must be xml.etree.ElementTree.Element, not None

但是当我检查时,有问题的元素被确认为 Element,而不是 None

self.XMLEntriesList['RiverCallPower']
Out[3]: Element 'RiverCallPower' at 0x04B83420

我做错了什么?

    import xml.etree.ElementTree as xml
    self.tree = xml.parse('strategies.xml')
    self.root = self.tree.getroot()
    ...
    new=self.root.append(xml.Element('newElement'))
    xml.SubElement(new,xml.Element(self.XMLEntriesList['RiverCallPower']))

最佳答案

我怀疑问题不在于 XMLEntriesList['RiverCallPower'] 部分,而是 new 变量 None。发生这种情况是因为 append()只是将新元素添加到根元素的子元素列表中,并且不返回任何内容。试试这个方法:

.......
new = xml.Element('newElement')
self.root.append(new)
xml.SubElement(new,xml.Element(self.XMLEntriesList['RiverCallPower']))

关于python - 使用 ElementTree 添加子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33115017/

相关文章:

python - 通过正则表达式捕获组,然后将捕获组拆分为单独的列表项

python - GRU加载模型错误,ValueError : GRU(reset_after=False) is not compatible with GRU(reset_after=True)

java - 如何在 Java 中从 JTextField 设置 Bean 属性值?

python - 元素树 iter() 正在跳过随机元素

python/elementtree xml解析成数组

python - pd.get_dummies wrt 特定列

python - 如何在未修复空格/s分隔的情况下读取pandas中的文件?

javascript - 如何解析 xml 并在 javascript 中从中提取 xslt 元素

java - XMLList 的 XStream 转换器(类似于 Jaxb)

python - 使用 elementTree 和 .remove() 使用 Python 删除 XML 子元素标签