解析AndroidManifest.xml

时间:2012-07-23 12:03:57

标签: android python xml parsing manifest

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

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

1 个答案:

答案 0 :(得分:2)

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

Here's some excellent documentation on minidom