전에도 질문을 올렸지만 해결이 안되서 다시 질문을 올립니다.
웹 사이트에서 내려오는 xml은
<site>
<title> 1111 </title>
<item>...</item>
<item>
<number>2012</number>
<title> aaa </title>
</item>
이런 식으로 <item>이 반복이 되고 있습니다.
현제 제가 필요한건 <item> 안에 있는 title 과 number가 필요합니다.
private ArrayList<XmlData> GetXmlData(int count) {
m_xmlData = new ArrayList<XmlData>();
xmlData = null;
try {
text = new URL(uri);
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
XmlPullParser parser = factory.newPullParser();
BufferedReader reader = new BufferedReader(new InputStreamReader(
text.openConnection().getInputStream()));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
String str = sb.toString().trim();
InputStream is = new ByteArrayInputStream(str.getBytes());
parser.setInput(is, "UTF-8");
int parseEvent = parser.getEventType();
while (parseEvent != XmlPullParser.END_DOCUMENT) {
if (parseEvent == XmlPullParser.START_TAG) {
tag = parser.getName();
if (tag.equals("title")) {
xmlData = new XmlData();
xmlData.d_title = parser.nextText();
}
if (tag.equals("number")) {
xmlData = new XmlData();
xmlData.d_link = parser.nextText();
Log.w("test", "xmlData.d_link : " + xmlData.d_link);
}
if (tag.equals("pubDate")) {
xmlData.d_pubdate = parser.nextText();
pubdate = xmlData.d_pubdate;
}
}
if (parseEvent == XmlPullParser.END_TAG) {
tag = parser.getName();
if (tag.equals("item")) {
m_xmlData.add(xmlData);
}
}
if (parseEvent == XmlPullParser.TEXT) {
tag = parser.getName();
}
parseEvent = parser.next();
}
} catch (Exception e) {
}
return m_xmlData;
}
Log.w("test", "xmlData number : " + xmlData.d_link);로 로그를 찍엇을때는
해당 값에 대해서 나오고 있지만 어댑터에서 확인하면 title만 가져오고 있습니다.
tile에서 xmlData = new XmlData();을 블록 처리하고 진행을 하면
반대로 number은 보이고 title은 안보이고 있습니다.
title과 number이 다 필요한데 이럴경우 어떻게 해야 할까요?