Я использую dom4j для анализа AndroidManifestFile.xml. Однако я обнаружил, что он относится к атрибуту «android: xxx» странно.dom4j attributeValue с квалифицированным именем
Например:
<receiver android:name="ProcessOutgoingCallTest" android:exported="false"
android:enabled="false">
<intent-filter android:priority="1">
<action android:name="android.intent.action.NEW_OUTGOING_CALL" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
значение возврата e.attributeValue("android:exported")
будет null
однако использование e.attributeValue("exported")
получит правильную строку (но мне не нравится этот путь, так как это может соответствовать больше, чем ожидалось). Между тем, e.attributeValue(new QName("android:exported"))
по-прежнему будет пустой строкой.
Что правильный путь, чтобы получить атрибут
это потому, что "XMLNS: андроид =" http://schemas.android.com/apk/res/android»определяется в типичном AndroidManifest.xml –
Да Вам нужно только подумать о том, как использовать вещи, связанные с QName и пространством имен. – chenzhongpu