我正在尝试使用 SAX 识别属性。我的XML如下
<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>
我的 startElement 代码如下:
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
elementOn = true;
if (localName.equals("DAY"))
{
data = new XMLGettersSetters();
}
}
上面的代码将找到第一个元素"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>
和代码:
if (localName.equals("DAY_2"))
{
data = new XMLGettersSetters();
}
NullPointerException
但是,如果类未在 logcat 中突出显示,我会得到一个名称。它指的是另一个类,但我注释掉了那些行