我无法让 getPrefix() 或 getNamespacePrefix() 在 android 上工作
我的 XmlPullParser 代码出现问题,不知道这只是我的问题还是一个错误。
我只是使用 xmlpullparser 解析 xml 文件(如下所示):
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp = c.getResources().getXml(id);
int quantity = 0;
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) {
Log.d("al","Start tag "+xpp.getPrefix());
}
xpp.next();
}
并且该程序不起作用,它说 RuntimeException , getPrefix not support 。 我对此一无所获。 我做错了什么吗?
(我正在使用 api 7,anddev 网站说它从 api 1 开始就在这里)
I got an issue with my code with XmlPullParser and don't know if this is just me or a bug.
i simply parse a xml file using xmlpullparser (like follow):
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp = c.getResources().getXml(id);
int quantity = 0;
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG) {
Log.d("al","Start tag "+xpp.getPrefix());
}
xpp.next();
}
and the program don't work , it say RuntimeException , getPrefix not supported .
i found nothing about that.
am i doing something wrong ?
(i'm using api 7 and anddev site say it's here since api 1)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
XmlPullParser
是一个接口,因此您必须获得一些默认的XmlPullParser
实现,并且该实现的getPrefix()
方法会引发异常,因为getPrefix() 未实现。
XmlPullParser
is an interface so you must be getting some defaultXmlPullParser
implementation, and that implementation'sgetPrefix()
method is throwing the exception becausegetPrefix()
isn't implemented.问题就像
Robby 所说的那样, getPrefix() 没有实现,
而不是实现,我这样做:
可能是因为我的工厂支持 Nampespace 并且 getResources().getXml() 返回一个不关心命名空间的 XmlRessourceParser ?
The issue was the
like Robby said , getPrefix() wasn't implemented
instead of that ,i do :
can it be because my factory is Nampespace aware and the getResources().getXml() return a XmlRessourceParser that don't care of namespace ?