【问题标题】:Ignore/Flatten xml element in python3python3中的忽略/展平xml元素
【发布时间】:2018-08-16 09:49:09
【问题描述】:

我的 xml 元素如下所示:

<para>Lorem ipsum (R<inf>0</inf>) dolor sit amnet</para>

尝试使用

获取整个文本
import xml.etree.ElementTree as ET

xml = ET.fromstring('<para>Lorem ipsum (R<inf>0</inf>) dolor sit amnet</para>')
xml.text

结果为@​​987654323@。因此,&lt;inf&gt; 之后的部分被完全忽略。如何让 xml 解析器忽略/删除这个元素?

【问题讨论】:

  • ''.join(your_xml.itertext()) 是否适用于您的用例?
  • 确实如此!是的,很好的解决方案
  • 您介意将您的评论升级为问题吗?然后我会接受它以将问题标记为已解决。
  • 如果您愿意,请随时自行回答...我感觉之前可能有人问过它,我有直觉认为实际上有比这个更好的解决方案 - 但我可能考虑使用lxml 而不是Python 的内置xml 可以做什么

标签: xml python-3.x xml.etree


【解决方案1】:

解决方法简单明了:加入.itertext()返回的元素:

import xml.etree.ElementTree as ET

xml = ET.fromstring('<para>Lorem ipsum (R<inf>0</inf>) dolor sit amnet</para>')
''.join(xml.itertext())

感谢 Jon Clements。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2011-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多