Android 安卓sax不解析“;dc:creator";?

Android 安卓sax不解析“;dc:creator";?,android,xml,sax,Android,Xml,Sax,希望有人能提供一些指导-我一直在使用android sax解析器和几个提要。现在,当我要分析包含以下内容的项时: <category>category</category> <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">creator</dc:creator> <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">201

希望有人能提供一些指导-我一直在使用android sax解析器和几个提要。现在,当我要分析包含以下内容的项时:

<category>category</category>
<dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">creator</dc:creator>
<dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">2011-10-13T07:00:15Z</dc:date>
<geo:lat>51.95271682739258</geo:lat>
<geo:long>-0.21096819639205933</geo:long>
import android.sax.Element;
import android.sax.EndElementListener;
import android.sax.EndTextElementListener;
import android.sax.RootElement;
import android.util.Log;
import android.util.Xml;
我遗漏了什么? 我唯一能猜到的是:“标签中的“:”给我带来了问题,但我找不到任何类似问题的例子


非常感谢阅读。

在DefaultHandler中使用startElement()和endElement()方法时,本地名称和限定名称值都会传入。确保您正在检查“dc:creator”之类的限定名称,否则它们将不匹配

请参见此处的官方文档:


也可以考虑使用XML拉出解析器,因为它比SAX稍微轻一点,可能更适合您的需要:

您只使用一个API,只查看元素的本地名称:

请尝试以下方法:

item.getChild("creator").setEndTextElementListener(new EndTextElementListener() {
  public void end(String body) {
   Log.e("mydebug","creator>>"+body+"<");
  }
});
item.getChild(“创建者”).setEndTextElementListener(新的EndTextElementListener(){
公共无效结束(字符串体){

Log.e(“mydebug”,“creator>>”+body+“您是否尝试过
item.getChild(“creator”)
?也许它只是通过localname而不是namespace+localname进行查找。谢谢-我完全错过了这一点-效果很好:)我还要看看pullparser-谢谢!感谢Nicholas的建议-我以前尝试过,但没有成功,所以我错过了它是一个本地QV名称。与“item.getChild(”)一起使用
import android.sax.Element;
import android.sax.EndElementListener;
import android.sax.EndTextElementListener;
import android.sax.RootElement;
import android.util.Log;
import android.util.Xml;
item.getChild("creator").setEndTextElementListener(new EndTextElementListener() {
  public void end(String body) {
   Log.e("mydebug","creator>>"+body+"<");
  }
});