Analizuję podobne pliki xml. Oto przykład. W razie potrzeby musisz dodać kontrolę błędów.
void loadXML(XmlPullParser xpp) {
int eventType = xpp.next();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_TAG && 0 == XML_ELEMENT_TAG.compareTo(xpp.getName())) {
loadElement(xpp);
}
eventType = xpp.next();
}
}
private void loadElement(XmlPullParser xpp) {
int eventType = xpp.getEventType();
if (eventType == XmlPullParser.START_TAG && 0 == XML_ELEMENT_TAG.compareTo(xpp.getName())) {
eventType = xpp.next();
while (eventType != XmlPullParser.END_TAG || 0 != XML_ELEMENT_TAG.compareTo(xpp.getName())) {
if (eventType == XmlPullParser.START_TAG && 0 == XML_ITEM_TAG.compareTo(xpp.getName())) {
loadItem(xpp);
}
eventType = xpp.next();
}
}
}
private void loadItem(XmlPullParser xpp) {
int eventType = xpp.getEventType();
if (eventType == XmlPullParser.START_TAG && 0 == XML_ITEM_TAG.compareTo(xpp.getName())) {
eventType = xpp.next();
while (eventType != XmlPullParser.END_TAG || 0 != XML_ITEM_TAG.compareTo(xpp.getName())) {
// Get attributes.
String attr = xpp.getAttributeValue(null, XML_MY_ATTR);
String text = null;
// Get item text if present.
eventType = xpp.next();
while (eventType != XmlPullParser.END_TAG || 0 != XML_ITEM_TAG.compareTo(xpp.getName())) {
if (eventType == XmlPullParser.TEXT) {
text = xpp.getText();
}
eventType = xpp.next();
}
eventType = xpp.next();
}
}
}
Jeśli chodzi o ciągi, po prostu użyj pliku strings.xml. Jest o wiele prostsze. –
jeśli chcesz tekst bez tagów, możesz użyć String.replace z wyrażeniem regularnym lub czymś w rodzaju – njzk2
Nie jestem pewien co masz na myśli. strings.xml z Androida SDK? jest to plik innej firmy, który muszę przetworzyć – butelo