Я создал XML-разборщик, который извлекает подробности XML:
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(new InputStreamReader(response3.getEntity().getContent()));
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_DOCUMENT) {
System.out.println("Start document");
} else if(eventType == XmlPullParser.START_TAG) {
System.out.println("Start tag "+xpp.getName());
} else if(eventType == XmlPullParser.END_TAG) {
System.out.println("End tag "+xpp.getName());
} else if(eventType == XmlPullParser.TEXT) {
System.out.println("Text "+xpp.getText());
}
eventType = xpp.next();
}
При поиске в XML правильно извлекаются различные теги и т. Д.
Моя проблема в том,теперь, когда я хочу сохранить их.Основная структура состоит в том, что в нем хранится серия карточек, каждая со списком атрибутов.Внешний тег будет выглядеть примерно так: <card>
, а внутри будет много атрибутов, таких как <resourceid>
, <price>
и т. Д.
Я хочу хранить каждую карту в удобном для доступа виде.Я думал об использовании SQlite, но у меня очень мало опыта работы с ним. Возможно ли это сделать, когда парсер шаг за шагом?
Добавлен мой класс здесь
public class SecondActivity {
String resourceid;
String startprice;
String currentbid;
String buynowprice;
String expires;
public String getResourceId(){
return this.resourceid;
}
public String getStartPrice(){
return this.startprice;
}
public String getCurrentBid(){
return this.currentbid;
}
public String getBuyNowPrice(){
return this.buynowprice;
}
public String getExpires(){
return this.expires;
}
public void setResourceId(String resourceidin){
this.resourceid = resourceidin;
}
public void setStartPrice(String startpricein){
this.startprice = startpricein;
}
public void setCurrentBid(String currentbidin){
this.currentbid = currentbidin;
}
public void setBuyNowPrice(String buynowpricein){
this.buynowprice = buynowpricein;
}
public void setExpires(String expiresin){
this.expires = expiresin;
}
}
Я сейчаспросто вызовите каждое утверждение, т. е. набор внутри, где анализатор находит значения тега, затем я вызываю хранилище, передавая ему этот объект?Как мне тогда очистить все значения внутри объекта?Спасибо за помощь, очень признателен.
Попытка найти начало карты, как определено
, добавила это в мой код:
else if(eventType == XmlPullParser.START_TAG) {
if (xpp.getName() == "auctionInfo"){
this.setMyflag(1);
System.out.println("IN THE IF FLAG IS SET TO 1");
}
System.out.println("Start tag "+xpp.getName());
К сожалению, это никогдавходит в if, и я озадачен, почему!