首页 > 解决方案 > Python :: 如何按标签拆分xml字符串?

问题描述

我有一个带有以下文本的字符串(在一个名为 token.txt 的文件中)。

<nexttoken>test1</nexttoken>
<nexttoken>test2</nexttoken>

我想删除标签<nexttoken>,我想显示第二行,即test2

输出 = test2

我尝试了什么:

with open("token.txt") as f:   
        for line in f:
            if "nexttoken" in line: 
                lines_contain_next_token = line 
                n2=lines_contain_next_token.replace("</nexttoken>","\n")
                n3=n2.replace("<nexttoken>","\n")
                n4=n3.replace("\n",",")
                n5=n4.replace(' ','')
                print n5

标签: pythonxml

解决方案


如果您的文本中只有两个nexttoken标签,那么您可以使用正则表达式来提取所需的值。

前任:

import re
with open(filename, "r") as infile:
    data = infile.read()
c = re.findall("\<nexttoken\>(.*)\<\/nexttoken\>", data)
print(c[1])

输出:

test2

注意:如果您的 src 文件是 XML 文件,我强烈建议您使用 python xml 解析器。


推荐阅读