使用python从xml数据中提取所有文本
我不熟悉xml数据处理。我想提取以下xml文件中的文本数据:使用python从xml数据中提取所有文本,python,xml,xml-parsing,xpath,lxml,Python,Xml,Xml Parsing,Xpath,Lxml,我不熟悉xml数据处理。我想提取以下xml文件中的文本数据: <data> <p>12345<strong>45667</strong>abcde</p> </data> 但是结果只显示['12345','45667']“abcde”缺失。有人能帮我吗?提前谢谢 尝试使用和执行此操作: getiterator()(或其替代品)迭代子标记/元素,而abcde是一个文本节点,是strong标记的一部分 您可以使用以下方
<data>
<p>12345<strong>45667</strong>abcde</p>
</data>
但是结果只显示['12345','45667']
<代码>“abcde”缺失。有人能帮我吗?提前谢谢 尝试使用和执行此操作:
getiterator()
(或其替代品)迭代子标记/元素,而abcde
是一个文本节点,是strong
标记的一部分
您可以使用以下方法:
印刷品:
['12345', '45667', 'abcde']
您确定OP正在使用
lxml
?另外,添加一些解释怎么样?OP调用ET.parse
,它来自lxml,在@Camron_Godbout的文档中作为etree,没有什么区别:
import lxml.etree as etree
string = '''
<data>
<p>12345<strong>45667</strong>abcde</p>
</data>
'''
tree = etree.fromstring(string)
print(tree.xpath('//p//text()'))
['12345', '45667', 'abcde']
import xml.etree.ElementTree as ET
tree = ET.parse('test.xml')
print list(tree.find('p').itertext())
['12345', '45667', 'abcde']