阅读特定的文本,并通过打断特定的字符将其写入多行

  • 本文关键字:字符 文本 python
  • 更新时间 :
  • 英文 :


我在一个文本文件中有如下所示的文本。一体化

我想阅读标签之间的文本并打印它,我想通过在"~"处打断来打印多行,如下所示。我如何在python 中做到这一点

Line 1- This is the data you requested~
Line 2- Use this data for processing~
Line 3 - If processing fails contact us @ 188-500-5678~

<?xml version="1.0" encoding="UTF-8"?>
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Header/><env:Body><re:EnvelopeResponse xmlns:core="http://www.AAAA.org/SOAP/SDL/Rule21.1.0.xsd"><PayloadType>Response</PayloadType><ProcessingMode>R</ProcessingMode><PayloadID>42eaf653</PayloadID><TimeStamp>2021-06-01</TimeStamp><SenderID>X</SenderID><ReceiverID>X</ReceiverID><RuleVersion>1.1.0</RuleVersion><Payload>This is the data you requested~Use this data for processing~If processing fails contact us @ 188-500-5678~</Payload><ErrorCode>Success</ErrorCode><ErrorMessage/></R:EnvelopeResponse></env:Body></env:Envelope>

通过这种方式可以提取有效载荷:

from bs4 import BeautifulSoup
data = """<?xml version="1.0" encoding="UTF-8"?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"><env:Header/><env:Body><re:EnvelopeResponse xmlns:core="http://www.AAAA.org/SOAP/SDL/Rule21.1.0.xsd"><PayloadType>Response</PayloadType><ProcessingMode>R</ProcessingMode><PayloadID>42eaf653</PayloadID><TimeStamp>2021-06-01</TimeStamp><SenderID>X</SenderID><ReceiverID>X</ReceiverID><RuleVersion>1.1.0</RuleVersion><Payload>This is the data you requested~Use this data for processing~If processing fails contact us @ 188-500-5678~</Payload><ErrorCode>Success</ErrorCode><ErrorMessage/></R:EnvelopeResponse></env:Body></env:Envelope>"""
soup = BeautifulSoup(data, "xml")
items = soup.find_all("Payload")
print (items)

您可以使用\n设置换行符。您可以使用replace((来完成此操作。您也可以使用replace((来删除字符串中的标记。

最新更新