lxml多个根和格式问题

2024-07-02 10:24:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从一个数据帧生成一个xml文件。除了这个我无法解决的小问题,一切都很好。为了便于理解,我删除了不必要的代码。在

from lxml import etree as et

root = et.Element('MarketValueGrid')
root1 = et.SubElement(root,'CalculationOutputs')
print(et.tostring(root, pretty_print=True).decode('utf-8'))

这就产生了

^{pr2}$

我需要的是:

<MarketValueGrid>
 <CalculationOutputs>
 </CalculationOutputs>
</MarketValueGrid>

Tags: 文件数据代码fromimportasrootxml
1条回答
网友
1楼 · 发布于 2024-07-02 10:24:43

看看xml spec,你看到的是一个空元素。在

一旦将子节点放在下面,或者在节点中放置一些内容(即使是空白空间),您将得到与您所要查找的类似的格式。在

from lxml import etree as et

root = et.Element('MarketValueGrid')
root1 = et.SubElement(root,'CalculationOutputs')
root2 = et.SubElement(root1,'Value')


print(et.tostring(root, pretty_print=True).decode('utf-8'))

<MarketValueGrid>
  <CalculationOutputs>
    <Value/>
  </CalculationOutputs>
</MarketValueGrid>

在您的例子中,添加root1 = et.SubElement(root,'CalculationOutputs').text=""将生成您要查找的输出。在

^{pr2}$

相关问题 更多 >