使用python regex处理xml输入

2024-09-19 23:44:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要先清理一个xml文件,然后才能处理它。文件在开始和结束处有垃圾,然后在元素之间有垃圾。下面是一个示例文件:

junkjunkjunkjunk<root>
\par junkjunkjunkjunkjunk<level1>useful info to keep</level1>
</root>
junkjunkjunkjunk

如何使用regex进行剪切(替换?)开始和结束的垃圾,然后中间的垃圾?中间的垃圾总是以“\par…”开头。你知道吗


Tags: 文件toinfo元素示例rootxmlregex
1条回答
网友
1楼 · 发布于 2024-09-19 23:44:22

以下语句应该删除垃圾(假设文档存储在名为xml的变量中):

import re

xml = re.sub(r'.*<root>', '<root>', xml, flags=re.DOTALL)    # Remove leading junk
xml = re.sub(r'\\par[^<]*<', '<', xml)                       # Middle junk
xml = re.sub(r'</root>.*', '</root>', xml, flags=re.DOTALL)  # Trailing junk

注意,这假设您知道根元素的名称(在本例中,它被称为root),否则您可能需要稍微调整一下。你知道吗

相关问题 更多 >