Use a StAX parser instead of a DOM parser. StAX will let you look at the elements in order, but without having to read the entire thing into memory at once and then navigate the hierarchy.
I can't remember if there's a StAX parser in Android (it was included as part of 1.4 or Java 5, I can't remember which), but there's a reference implementation from BEA floating out on the Web someplace, should be a snap to grab it and include it as a library (worst case). Ted Neward Java, .NET, XML Services Consulting, Teaching, Speaking, Writing http://www.tedneward.com > -----Original Message----- > From: [email protected] [mailto:android- > [email protected]] On Behalf Of Er. syed imran ali > Sent: Tuesday, June 01, 2010 11:56 PM > To: Android Developers > Cc: [email protected] > Subject: [android-developers] how to reduce xml parsing time > > hi all, > in my application i have to read xml from web-service, > it is working fine, but major problem is it is taking more > time to parse data, though same data is taking less time on > iPhone and Blackberry. i have similar code on blackberry it is > taking less time to parse. is any fast parsing process in Android? > if any body know kindly reply me. > my code simple is as follow. > > DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); > DocumentBuilder db = dbf.newDocumentBuilder(); > doc = db.parse(in); > NodeList nodes = doc.getElementsByTagName("Member"); > if(nodes.getLength() > 0){ > > for (int i = 0; i < nodes.getLength(); i++) { > Member mem = new Member(); > > Element memelement = (Element) > nodes.item(i); > > NodeList member = > memelement.getElementsByTagName("MemberID"); > Element memberText = (Element) > member.item(0); > String MemberID = > getCharacterDataFromElement(memberText); > mem.setMemberID(MemberID); > > member = > memelement.getElementsByTagName("FirstName"); > memberText = (Element) member.item(0); > > mem.setFirstName(getCharacterDataFromElement(memberText)); > > member = > memelement.getElementsByTagName("LastName"); > memberText = (Element) member.item(0); > > mem.setLastName(getCharacterDataFromElement(memberText)); > > member = > memelement.getElementsByTagName("MailingAddress1"); > memberText = (Element) member.item(0); > > mem.setMailingAddress1(getCharacterDataFromElement(memberText)); > ... > ... > ... > } > Thanks and regards > Syed Imran ali > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to android- > [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

