Java Android搜索属性中的SAX解析
我正在尝试使用SAX识别属性。我的XML如下Java Android搜索属性中的SAX解析,java,android,xml-parsing,sax,android-xml,Java,Android,Xml Parsing,Sax,Android Xml,我正在尝试使用SAX识别属性。我的XML如下 <DAY VALUE="1"> <BREAKFAST>0700</BREAKFAST> <LUNCH>1200</LUNCH> <DINNER>1900</DINNER> </DAY> <DAY VALUE="2"> <BREAKFAST>0730</BREAKFAST> <
<DAY VALUE="1">
<BREAKFAST>0700</BREAKFAST>
<LUNCH>1200</LUNCH>
<DINNER>1900</DINNER>
</DAY>
<DAY VALUE="2">
<BREAKFAST>0730</BREAKFAST>
<LUNCH>1230</LUNCH>
<DINNER>1930</DINNER>
</DAY>
上面的代码将找到第一个元素“DAY”
,并提供内容,但不提供剩余的DAY元素
有没有办法搜索属性?我的目标是获取当月的当天,然后在xml中搜索当天。例如,如果今天是第二天,那么我想在XML文件中搜索DAY VALUE=“2”
并获取子元素
==编辑
如果我将XML修改为
<DAY_1>
<BREAKFAST>0700</BREAKFAST>
<LUNCH>1200</LUNCH>
<DINNER>1900</DINNER>
</DAY_1>
<DAY_2>
<BREAKFAST>0730</BREAKFAST>
<LUNCH>1230</LUNCH>
<DINNER>1930</DINNER>
</DAY_2>
我得到了一个
NullPointerException
,但是如果该类在logcat中没有突出显示,则该类的名称是无效的。它指的是另一个类,但我注释掉了那些行您可以得到如下属性值:
if (localName.equals("DAY")){
String day = "";
if (attributes.getValue("VALUE") != null) {
day = attributes.getValue("VALUE");
}
//data = new XMLGettersSetters();
}
是的,我试过了,但是当我尝试使用day变量时,应用程序崩溃了。
if(localName.equals(“day”){String day=”“;if(attributes.getValue(“VALUE”)!=null){day=attributes.getValue(“VALUE”);System.out.println(“VALUE:+day”);}
它获取第一个包含子元素的元素。我在日志中得到'VALUE:1',但当它转到元素时,我得到一个NullPointer异常-无法启动活动SAXParserActivity
if (localName.equals("DAY_2"))
{
data = new XMLGettersSetters();
}
if (localName.equals("DAY")){
String day = "";
if (attributes.getValue("VALUE") != null) {
day = attributes.getValue("VALUE");
}
//data = new XMLGettersSetters();
}