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

Reply via email to