Я пытаюсь прочитать xml из манифеста android с помощью Groovy (особенно XmlSlurper
от import groovy.xml.XmlUtil
), и я становлюсь ниже от Gradle.namespace error parsing android xml with groovy
Error:The prefix "android" for attribute "android:name" associated with an element type "activity" is not bound.
Код, который приводит к этой ошибки заключается в следующем:
def innerNodeTemplate = '''
<activity android:name=".activity.MyActivity"></activity>
'''
def activityNode = new XmlSlurper().parseText(innerNodeTemplate)
Я попытался объявить пространство имен следующим образом (from this existing answer)
activityNode = new XmlSlurper(false,false).parseText(innerNodeTemplate).declareNamespace(android:'android')
, но затем я получаю более явным исключение для одного и того же номера пространства имен
Error:Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 53; The prefix "android" for attribute "android:name" associated with an element type "activity" is not bound.
Есть ли что-нибудь еще, что я могу попробовать?
Там не существует такого пространства имен, ограниченное в вашем XML. Почему вы добавляете во время разбора? – Rao
Привет, Rao, «android: name» находится в моем xml. Нужно ли добавлять объявление типа xmlnx: android = "" в начале фрагмента xml? –