0

我正在尝试解析 AndroidManifestxml文件以进行一些分析。解析这个的最佳方法是什么?到目前为止,这就是我正在做的

import string
test=string.printable
f=open('AndroidManifest.xml', 'r').read()
x=""
for n in f:
        if n in test:
                x+=n
print x

结果或多或少:

d 74Rv vzPVZVL :Pd>P l versionCode minSdkVersiontargetSdkVersionnameiconlabel versionName configChangespriorityandroid*http://schemas.android.com/apk/res/androidpackagemanifestngjvnpslnp.iplhmk1.0uses-sdkuses-permission#android.permission.READ_PHONE_STATE'android.permission.ACCESS_NETWORK_STATEandroid.permission.

这只是其中的一部分。如您所见,它非常丑陋。任何帮助,将不胜感激。

编辑:

所以当我使用 parse 时,我得到了这个奇怪的回溯

  Traceback (most recent call last):
  File "test2.py", line 4, in <module>
  dom = parse(f)
  File "/usr/lib/python2.7/xml/dom/minidom.py", line 1914, in parse
  return expatbuilder.parse(file)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 928, in parse
  result = builder.parseFile(file)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 207, in parseFile
  parser.Parse(buffer, 0)
  xml.parsers.expat.ExpatError: not well-formed (invalid token): line 1, column 0
4

1 回答 1

2

我建议使用 XML 解析器而不是纯文本来解析它。

这里有一些关于 minidom 的优秀文档

于 2012-07-23T12:08:01.557 回答