나는 이런 식의 120 개 항목이있는 XML 파일을 읽으려고합니다.android에서 XML 파일 읽기
Resources res = getResources();
XmlResourceParser x = res.getXml(R.xml.textos);
try {
insertXML(x);
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
및 InsertXML는 다음과 같이 : 내 안드로이드 응용 프로그램에서
<?xml version="1.0" encoding="utf-8"?>
<books>
<Book>
<bookName >Libro 1</bookName>
<bookSection>Unidad 1</bookSection>
<memorization>[A long string of information]…</memorization>
</Book>
<Book>.....</Book>
</books>
는 내가이 작업을 수행 한 OnCreate 따라서 무효에 ArrayList<book>
에 모든 정보를 넣어합니다. if (x.getAttributeValue(null, "Book") != null) {
에 가지 않을 때문에 실수를 내가 디버그 모드를 사용할 때 그래서 x.depth() = 0
말해
private void insertXML(XmlPullParser x) throws XmlPullParserException, IOException {
try {
int eventType = x.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
Textos seleccion = new Textos();
if (eventType == XmlPullParser.START_TAG) {
if (x.getAttributeValue(null, "Book") != null) {
seleccion.setBook(x.getAttributeValue(null, "bookName"));
seleccion.setSection(x.getAttributeValue(null, "bookSection"));
seleccion.setMemorization(x.getAttributeValue(null, "memorization"));
}
}
if (eventType == XmlPullParser.END_TAG) {
if (x.getName().equals("Book")) {
texto.add(seleccion);
}
}
eventType = x.next();
}
} catch (Exception e) {
e.printStackTrace();
}
}
, 내가 잘못 뭐하는 거지?
감사합니다 존 나에게 약간의 도움을하지만 내 생각은 ArrayList를 Textos에서 XML의 모든 정보를 넣어하는 것입니다 그래서 지금은 방법을 잘 모릅니다 3 문자열 (도서, 절, 암기)와 클래스 계속해라. 도움이 되었습니까? –
@David_Garcia : XML 추출 구문 분석기에서 정보를 추출하는 데 도움이되었습니다. 나머지 부분에 붙어 있으면 다른 질문처럼 들립니다. 어쨌든 여기에 풀 해석기를 사용할 이유가 있습니까? DOM API를 사용하는 것이 더 쉬울 것이라고 나는 의심한다. –
저는 지금 당장 그것을 읽고있었습니다. DOM API를 사용하여 훨씬 더 나아졌고 모든 문제를 해결했습니다. 도움을 주셔서 감사합니다! –