如何解决使用python从文本文件中仅获取xml数据
我有一个文本文件,其中有一些XML数据和一些HTML数据。两者均以“
文件示例:
xyz data:
<note>
<to>john</to>
<from>doe</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
xyz data
<bold>xyz</bold>
text
text
text
<bold>xyz</bold>
again XML data
注意:此文件为.txt格式。
解决方法
我会将您的整个输入不视为XML,而是视为HTML片段。 HTML可以包含非标准元素,因此可以使用<note>
等。
为方便起见,我建议pyquery
(link)处理HTML。它的工作方式与jQuery几乎相同,因此,如果您以前使用过它,应该很熟悉。
这很简单。加载数据,将其包装在"<html></html>"
中,对其进行解析,查询。
from pyquery import PyQuery as pq
data = """xyz data:
<note>
<to>john</to>
<from>doe</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
xyz data
<bold>xyz</bold>
text
text
text
<bold>xyz</bold>
again XML data"""
doc = pq(f"<html><body>{data}</body></html>")
note = doc.find("note")
print(note.find("body").text())
将显示"Don't forget me this weekend!"
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。