I am using yahoo local search web service in my android application. I am getting xml reply from yahoo local search query. I want to know do i need to parse that xml file to read? and how can i read specific elements of all results. there are multiple elements of a single result. I want to read few elements of all results. any suggestion or code exmple would be really helpful. Thanks in advance.
DocumentBuilderFactory and SAXParserFactory are both part of the Java API supported by Android. Start with one of these. DocumentBuilder / DocumentBuilderFactory requires more memory but is a bit easier to work with. SAXParser / SAXParserFactory doesn't store the entire XML document in memory but you need to keep track of the current state yourself.
If you're not fussed about the size of your APK, you could consider using XStream. Whilst it might not be the best option, its certainly is an option. I wrote a noobs guide here
I'm currently working on an app that reads several xml files from a server. At first glance the DocumentBuilder approach looked easiest. But if you take some time to dive into the matter, you'll probably find the SAX approach more clear and in the end easier to use. At least I did. Also, at a certain point I needed to fetch data between open- and close tags and the DocumentBuilder approach can't do that .
Really? So you can't get any instances of org.w3c.dom.Text from your Document? With that you can use getNodeValue() or getData() to get the actual text.
I stand corrected, which proves never to rely solely on what you read on the web.
Nevertheless, I still find the SAX approach - if you get past the initial learning curve - the easier way.
BTW, besides the org.w3c.dom.Text approach it is actually possible to grab the data directly:
Post by:autobot
If you're gonna buy things, buy this thing and I get a fat kickback:
a bit of art, as a gift, that will fit in a stocking