Derlenmiş bir Android XML kaynağına erişmem gerektiğinde, bana derlenmiş bir ikili ürettiği için openRawResource(resId)
kullanamıyorum.Android XmlResourceParser'ın rahat kullanımı?
XML'yi almamın tek yolu, XmlResourceParser
(XmlPullParser
uygulayan) getXml(resId)
kullanmaktır.
Karmaşık derlenmiş XML'leri (büyük değil) Android kaynaklarından nasıl kolayca kaldırabilirim?
Ben Simple XML çerçevesini kesmek çalıştık: (. Yukarıdaki Scala kod basitleştirilmiş)
val serializer = new Persister()
serializer.read(classOf[AFoo],
new NodeReader(new PullReader(r.getXml(resId))).readRoot)
başarısız Ancak:
java.lang.RuntimeException: getPrefix not supported
at android.content.res.XmlBlock$Parser.getPrefix(XmlBlock.java:156)
at org.simpleframework.xml.stream.PullReader$Start.<init>(PullReader.java:373)
at org.simpleframework.xml.stream.PullReader.start(PullReader.java:143)
at org.simpleframework.xml.stream.PullReader.read(PullReader.java:109)
at org.simpleframework.xml.stream.PullReader.read(PullReader.java:117)
at org.simpleframework.xml.stream.PullReader.next(PullReader.java:89)
at org.simpleframework.xml.stream.NodeReader.readElement(NodeReader.java:111)
at org.simpleframework.xml.stream.NodeReader.readRoot(NodeReader.java:85)
- var mı uygulanıyor XML deserializer,
getPrefix
'u çağırmıyor mu? XmlPullParser
'danNode
ağacı oluşturan zaten var olan Scala kütüphanesi var mı? (Bu yüzden Scala projeksiyon işlevini kullanarak sorgulamak mümkün olacaktır.)- Veya kaynaklardan küçük ancak karmaşık derlenmiş XML'leri nasıl okuyacağınıza dair başka ipucunuz var mı?
nerede - Eğer res saklayarak çalıştı var/ham? Doğrudan erişime sahip olmak istediğim xml belgelerini böyle saklıyorum. Şemaları/stil sayfalarını kaydetmenin kırışıklığı, uzantının 'xml' olması gerektiğidir - ne yaptığım dosya uzantısına fiili uzantı eklemektir .... böylece indent.xsl olur xsl_indent.xml –