5

Androidアプリケーションで言及されているxmlファイル(androidmanifest.xml)のuses-permissionタグを解析しています

forループを実装して反復的にしようとしましたが、失敗したのでここにいます

パイソン:

from xml.dom.minidom import parseString
file = open('/root/Desktop/AndroidManifest.xml','r')
data = file.read()
file.close()
dom = parseString(data)
  xmlTag = dom.getElementsByTagName('uses-permission')[0].toxml()

  print xmlTag

出力:

    <uses-permission android:name="android.permission.INTERNET">
</uses-permission>

for ループの間違い:

for uses-permission in xmlTag:
    #print child.tag, child.attrib
    print xmlTag.tag
xmlTag = dom.getElementsByTagName('uses-permission')[1].toxml()
xmlTag= dom._get_childNodes
#print xmlTag
4

1 に答える 1

5

すべてのパーミッション タグを見つけるにはdom.getElementsByTagName('uses-permission')、 index のノードだけにアクセスするのではなく、返されるノードを反復処理してみて0ください。

from xml.dom.minidom import parseString

data = ''
with open('/root/Desktop/AndroidManifest.xml','r') as f:
    data = f.read()
dom = parseString(data)
nodes = dom.getElementsByTagName('uses-permission')
# Iterate over all the uses-permission nodes
for node in nodes:
    print node.toxml()

または、xml ではなくパーミッションのみが必要な場合はnode.toxml()node.getAttribute('android:name').

于 2013-11-28T22:52:40.367 に答える