解析多个相同格式的xml项目

时间:2013-05-01 13:54:34

标签: python xml regex parsing

我想要解析的xml代码中有多个项目。我不太清楚如何做到这一点,任何帮助将不胜感激。下面是我的xml和python代码的片段以及我要做的事情。

XML

<doc>
    <para>
        <text> /PARSEME: ABC12345/         /PARSEME: ABC98765/         /PARSEME: FGB87654/
        </text>
    </parse>
</doc>

Python代码

def get_parseme(self, document):
    match = self.getNodeContent(document.contents(), 'para', 'text', true)
    match2 = re.search(r"PARSEME:\D{3}\d{5}", match, re.M|re.I)
    if match2:
        return match2.group()

2 个答案:

答案 0 :(得分:0)

re.search() - 扫描字符串,查找此RE匹配的任何位置。

findall() - 查找RE匹配的所有子字符串,并将其作为列表返回。

来自http://docs.python.org/2/howto/regex.html

这是工作示例

#!/usr/bin/env python
import re
match = ' /PARSEME: ABC12345/         /PARSEME: ABC98765/         /PARSEME: FGB87654/'
match_parse = re.findall(r"PARSEME: (\D{3}\d{5})", match, re.M|re.I)
if match_parse:
    print match2

答案 1 :(得分:0)

你看过ElementTree XML API了吗? http://docs.python.org/2/library/xml.etree.elementtree.html

我发现在尝试解析XML文件时它非常有用。尝试http://effbot.org/zone/element-index.htm获取一些额外的基本文档。