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 内でその日を検索することを目指しています。たとえば、今日が 2 番目の場合、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 で強調表示されていない場合は、名前を取得します。別のクラスを参照していましたが、それらの行をコメントアウトしました