在没有Etree的情况下提取XML Key的字符串/值

时间:2018-03-31 12:13:39

标签: python xml plist

我需要从xml文件中提取字符串,但不使用etree。

XML的一小部分:

<key>FDisplayName</key>
<string>Dripo</string>
<key>CFBundleIdentifier</key>
<string>com.getdripo.dripo</string>
<key>DTXcode</key>

说我想提取com.getdripo.dripo,我怎么能这样做,但是没有使用etree?

我只知道如何使用etree,但在这种情况下我无法使用它。

无法在网上找到任何想法?

1 个答案:

答案 0 :(得分:1)

使用正则表达式。

import re
s = """<key>FDisplayName</key>
<string>Dripo</string>
<key>CFBundleIdentifier</key>
<string>com.getdripo.dripo</string>
<key>DTXcode</key>"""

print re.findall("<string>(.*?)</string>", s)      #finds all content between '<string>' tag
print re.findall("<string>(com.*?)</string>", s)

<强>输出:

['Dripo', 'com.getdripo.dripo']
['com.getdripo.dripo']

注意:强烈建议使用XML解析器。