Python 如何删除xml标记之外的文本

Python 如何删除xml标记之外的文本,python,xml,Python,Xml,我是python的新用户,正在尝试操作XML文件。如果XML标记之外有文本,则只有字符串。如下例所示: blhpxxxx[脚本模式]>显示系统日志服务器1 正在检索系统日志服务器。。。 问题是,我无法想象如何删除标记之外的所有文本 很抱歉,我没有详细说明我的问题,因为我说我是python世界的新手,但是,我找到了问题的解决方案 1——我得到的文件不是XML,它只包含文本中间的XML标签。以下是该结构的完整示例: HP BladeSystem板载管理员 (C)版权所有2006-2013 He

我是python的新用户,正在尝试操作XML文件。如果XML标记之外有文本,则只有字符串。如下例所示:

blhpxxxx[脚本模式]>显示系统日志服务器1
正在检索系统日志服务器。。。

问题是,我无法想象如何删除标记之外的所有文本


很抱歉,我没有详细说明我的问题,因为我说我是python世界的新手,但是,我找到了问题的解决方案

1——我得到的文件不是XML,它只包含文本中间的XML标签。以下是该结构的完整示例:

HP BladeSystem板载管理员 (C)版权所有2006-2013 Hewlett-Packard Development Company,LP

blhp0001[脚本模式]>显示系统日志服务器1

正在检索系统日志服务器

系统日志服务器1:

<EVENT_LOG DESCRIPTION="Integrated Management log">
 < EVENT
  SEVERITY = " Repaired "
  CLASS = " Rack Infrastructure "
  Last_update = " 05/15/2011 15:58 "
  INITIAL_UPDATE = " [NOT SET ] "
  COUNT = " 11 "
  DESCRIPTION = " Server Blade Enclosure Inadequate Power To Power On : Not Enough Power ( Enclosure Serial Number " , " Slot 6 ) "
 / >
 < EVENT
  SEVERITY = " Informational "
  CLASS = " Rack Infrastructure "
  Last_update = " 05/09/2011 24:18 "
  INITIAL_UPDATE = " 05/09/2011 12:18 "
  COUNT = "1"
  DESCRIPTION = " LAN Settings Changed ( USE844HBNT Enclosure Serial Number ) "
 / >
有了这个,我可以删除标签之间的所有文本不是,或者是一个标签


感谢您的关注。

正如第一条评论所指出的,它实际上不是xml文件

但是您可以使用一个带有正则表达式的短脚本来创建xml文件。给定示例字符串,您可以基于以下代码创建这样的脚本:

import re

text = 'blhpxxxx [SCRIPT MODE]> show syslog server 1 Retrieving syslog server (s) ... <EVENT SEVERITY = "Repaired" /> '

print(re.search("\<.*\>", text).group())
重新导入
text='blhpxxxx[脚本模式]>显示正在检索系统日志服务器的系统日志服务器1..'
打印(重新搜索(“\”,text).group())

根据周围文本的结构,您可能需要使用更复杂的正则表达式。

如果标记外有文本,则根据定义,它不是
xml
文件。您好,crs,感谢您的帮助,我相信我不需要复杂的正则表达式,在本例中,文件结构没有太大变化。还感谢您澄清我的文件不是xml。
import re

text = 'blhpxxxx [SCRIPT MODE]> show syslog server 1 Retrieving syslog server (s) ... <EVENT SEVERITY = "Repaired" /> '

print(re.search("\<.*\>", text).group())