python3中的忽略/展平xml元素
我的xml元素如下所示:python3中的忽略/展平xml元素,xml,python-3.x,xml.etree,Xml,Python 3.x,Xml.etree,我的xml元素如下所示: <para>Lorem ipsum (R<inf>0</inf>) dolor sit amnet</para> Lorem ipsum(R0)dolor sit amnet 试图用 import xml.etree.ElementTree as ET xml = ET.fromstring('<para>Lorem ipsum (R<inf>0</inf>) dolor sit
<para>Lorem ipsum (R<inf>0</inf>) dolor sit amnet</para>
Lorem ipsum(R0)dolor sit amnet
试图用
import xml.etree.ElementTree as ET
xml = ET.fromstring('<para>Lorem ipsum (R<inf>0</inf>) dolor sit amnet</para>')
xml.text
将xml.etree.ElementTree作为ET导入
xml=ET.fromstring('Lorem ipsum(R0)dolor sit amnet'))
xml.text
导致
'Lorem ipsum(R'
。
之后的部分被完全忽略。如何使xml解析器忽略/删除此元素?解决方案简单明了:加入从.itertext()返回的元素:
将xml.etree.ElementTree作为ET导入
xml=ET.fromstring('Lorem ipsum(R0)dolor sit amnet'))
''.join(xml.itertext())
积分归Jon Clements所有。解决方案简单明了:连接从.itertext()返回的元素。
:
将xml.etree.ElementTree作为ET导入
xml=ET.fromstring('Lorem ipsum(R0)dolor sit amnet'))
''.join(xml.itertext())
荣誉归于Jon Clements。确实''.join(您的_xml.itertext())
在您的用例中工作?确实如此!是的,很好的解决方案您介意将您的评论升级为一个问题吗?然后我会接受它,将问题标记为已解决。如果您愿意,请随意自我回答……我有一种感觉,以前可能有人问过它,我有一种直觉,实际上有一个比这个稍好的解决方案-但我可能想一想用lxml
代替Python的内置xml
可以做些什么'.join(您的_xml.itertext())
在您的用例中工作?确实如此!是的,很好的解决方案您介意将您的评论升级为一个问题吗?然后我会接受它,将问题标记为已解决。如果您愿意,请随意自我回答……我有一种感觉,以前可能有人问过它,我有一种直觉,实际上有一个比这个稍好的解决方案-但我可能思考如何使用lxml
而不是Python的内置xml
import xml.etree.ElementTree as ET
xml = ET.fromstring('<para>Lorem ipsum (R<inf>0</inf>) dolor sit amnet</para>')
''.join(xml.itertext())