python ElementTree:如何以粗体添加子元素文本

python ElementTree: how to add SubElement text in bold

如何创建 Python ElementTree 的子元素来为此编写 XML:

怎么了?

即。有些文本是粗体而有些不是,但是当您打印出来时它们都呈现在同一行上? 我认为这就是 XML 的样子。

<p>
  <b>Hi</b>
  What's up?
</p>

我尝试了几种方法,包括以下内容:

import xml.etree.ElementTree as ET

p_element = ET.SubElement(section, "p")
bold = ET.SubElement(p_element, "b")
bold.text = "Hi" 
not_bold = ET.SubElement(bold, "p")
not_bold.text = "What's up?"

这给出了以下内容并且最终都是粗体:

<p>
  <b>
     Hi
     <p> 
       What's up?
     </p>
  </b>
</p>

如果我改为这样做:

import xml.etree.ElementTree as ET

p_element = ET.SubElement(section, "p")
bold = ET.SubElement(p_element, "b")
bold.text = "Hi" 
not_bold = ET.SubElement(p_element, "p")
not_bold.text = "What's up?"

它以粗体显示正确的单词,但 "Hi" 和 "What's up?" 将呈现在不同的行上。

您接下来可以做的事情:

import xml.etree.ElementTree as ET


p_element = ET.Element("p")
b_element = ET.SubElement(p_element, 'b')
b_element.text = "Hi"
b_element.tail = "What's up?"
print(ET.dump(p_element)) # <p><b>Hi</b>What's up?</p>

但是如果由于 XML vulnerabilities.

而需要解析不受信任或未经身份验证的数据,请不要使用此模块