【问题标题】:Parsing Android Manifest File to look for the uses-permission tag using python使用python解析Android Manifest File以查找uses-permission标签
【发布时间】:2013-10-02 10:13:29
【问题描述】:

我正在解析一个 android 应用程序中提到的 xml 文件(androidmanifest.xml)中的 uses-permission 标记

我尝试实现一个 for 循环以使其迭代,但我失败了,所以就在这里

Python:

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

【问题讨论】:

    标签: android python xml dom xml-parsing


    【解决方案1】:

    要查找所有权限标签,请尝试遍历 dom.getElementsByTagName('uses-permission') 返回的节点,而不是仅访问索引 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')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 2011-08-17
      • 2016-12-14
      • 2022-11-29
      • 1970-01-01
      • 2019-10-12
      相关资源
      最近更新 更多