剥离(XML?)使用python从文档中标记

2024-04-19 18:54:13 发布

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

我有一个包含科学家姓名的文件,格式如下 <scientist_names> <scientist>abc</scientist> </scientist_names> 我想用python从上面的格式中去掉科学家的名字我该怎么做?? 我想使用定期抑郁,但不知道如何使用它…请帮助


Tags: 文件names格式名字姓名科学家abcscientist
3条回答

不要使用正则表达式!(所有原因都解释清楚了[here]

使用xml/html解析器,看一下BeautifulSoup。在

这是XML,应该使用lxml这样的XML解析器而不是正则表达式(因为XML不是一种正则语言)。在

下面是一个例子:

from lxml import etree
text = """<scientist_names> <scientist>abc</scientist> </scientist_names>"""

tree = etree.fromstring(text)
for scientist in tree.xpath("//scientist"):
    print scientist.text

如前所述,这似乎是xml。在这种情况下,您应该使用xml解析器来解析这个文档;我建议使用lxml(http://lxml.de)。在

根据您的需求,可能会发现使用SAX样式解析比使用DOM样式更方便,因为SAX解析只是在解析器遇到特定标记时注册处理程序,只要标记的含义不依赖于上下文,而且您要处理的标记类型不止一种(这里可能不是这样)。在

如果您的输入文档格式可能不正确,您可能希望使用漂亮的汤:http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html#Parsing XML

相关问题 更多 >