einfach XML lesen

Bitte aktiviere JavaScript!
Ich brauche einen möglichst einfachen Code mit dem man Daten aus XML-Dateien lesen kann. Ich habe bis jetzt versucht JDom zu benutzen, aber da kommen nur irgendwelche Fehlermeldungen, und außerdem ist mir das zu umständlich. Es muss doch eine einfache und unkomplizierte Möglichkeit geben, Daten zu lesen und in Java-Variablen zu speichern.
 
A

Anzeige




Schau mal hier —> (hier klicken)
Ja. XMLPullParserFactory und XMLPullParser sind sehr empfehlenswert. Total eas anzuwenden. Die API ist bei Android sogar im standard package.

http://www.xmlpull.org/v1/doc/api/org/xmlpull/v1/package-summary.html

Beispiel Code wie ich einen RSS-Feed von Apple parse:
Java:
public boolean parseXML(String xmlData) {
boolean status = true;
boolean inEntry = false;
int eventType;
String tagName = "";
String tagValue = "";
FeedEntry currentRecord = null;
try {
XmlPullParserFactory fac = XmlPullParserFactory.newInstance();
fac.setNamespaceAware(true);
XmlPullParser xpp = fac.newPullParser();
xpp.setInput(new StringReader(xmlData));
eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
tagName = xpp.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
if ("entry".equalsIgnoreCase(tagName)) {
inEntry = true;
currentRecord = new FeedEntry();
}
break;
case XmlPullParser.TEXT:
tagValue = xpp.getText();
break;
case XmlPullParser.END_TAG:
if (inEntry) {
if ("title".equalsIgnoreCase(tagName)) {
currentRecord.setTitle(tagValue);
} else if ("summary".equalsIgnoreCase(tagName)) {
currentRecord.setSummary(tagValue);
} else if ("im:price".equalsIgnoreCase(tagName)) {
currentRecord.setIm_price(tagValue);
} else if ("rights".equalsIgnoreCase(tagName)) {
currentRecord.setRights(tagValue);
} else if ("entry".equalsIgnoreCase(tagName)) {
entries.add(currentRecord);
inEntry = false;
}
}
break;
}
eventType = xpp.next();
}
} catch (XmlPullParserException e) {
status = false;
Log.e(TAG, "parseXML: Factory couldnt be instantiated: " + e.getMessage());
} catch (IOException e) {
status = false;
Log.e(TAG, "parseXML: " + e.getMessage());
}
return status;
}
 
Hallo Crsh,

wenn es sich um kleinere XML Strukturen handelt, dann verwende ich gerne einen SAX Parser. Sobald die XML Strukturen komplexer werden, verwende ich JAXB.

Viele Grüße

ProChris
 
A

Anzeige




Vielleicht hilft dir das hier weiter: (klicke hier)
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben