android - 解析 Android Manifest 文件以使用 python 查找 uses-permission 标签

标签 android python xml dom xml-parsing

我正在解析 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

最佳答案

要查找所有权限标签,请尝试遍历 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')

关于android - 解析 Android Manifest 文件以使用 python 查找 uses-permission 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19028314/

相关文章:

html - 在 CruiseControl 仪表板中显示 HTML 报告

python - 使用SAX解析xml后返回一个对象

android - Opencv/C++ - 将 NV21 转换为 RGB 并在 android 应用程序中生成位图

python - 先决条件的简单比较不起作用

Python - 将 UTC 毫秒时间戳转换为本地时间

python - Keras Unet + VGG16 预测都一样

java - 为什么在 Tomcat 加载和读取 beans.xml 时没有正确加载 Spring AOP XML 模式

android 模拟器不在 iMac 中的蓝牙耳机上播放声音

android - 使用tinylog 2.0

javascript - React-native componentWillUnmount 未被调用