0

xml分析のために AndroidManifestファイルを解析しようとしています。これを解析する最適な方法は何ですか? これまでのところ、これは私がやっていることです

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 に答える