我有一个文本文件,其中有一些XML数据和一些HTML数据。两者都以"<“开头。现在,我只想提取XML数据并将其保存到另一个文件中。我该怎么做呢?
文件示例:
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格式。
发布于 2020-10-20 20:37:04
我不会将您的整个输入视为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!"。
https://stackoverflow.com/questions/64442542
复制相似问题