如何提取两个标签之间的随机生成的文本?

时间:2019-06-18 13:56:52

标签: python xml

我应该提取在两个XML标签之间随机生成的文本。应该用python脚本来完成。我目前对此感到困惑,因为我不知道如何提取这些信息。

我尝试使用.get()函数,但收到"AttributeError: 'NoneType' object has no attribute 'get'"

<elem key="bits">...
<elem key="commonName"> SOME RANDOMLY GENERATED TEXT HERE </elem>
<elem key="type">...

我想在此处提取一些随机生成的文本。

1 个答案:

答案 0 :(得分:0)

这是一种解决方案:

text = '''
<elem key="bits">...
<elem key="commonName"> SOME RANDOMLY GENERATED TEXT HERE </elem>
<elem key="type">...
'''

首先,将您的XML代码定义为Python中的文本。或者,您可以使用 pathlib 处理XML文件。

my_key = 'key="commonName">'
start = text.find(my_key) + len(my_key)
end = text.index('<', start)
new_text = text[start:end]
print(new_text)

定义密钥;在这种情况下,键=“ commonName”。该键将帮助我们获取文本的起始索引。我们需要添加len(my_key)以便在文本中不包含my_key字符串。为了获得结束索引,我们使用开始索引不包含“ <”的早期实例。最后,我们使用开始和结束索引获得所需的文本。