Are there alternatives to Jersey 1.8 that offer converting XML files to java.util.List? In my web service lists are converted to XML and then sent to the client.
The problem with Jersey is that converting XML files will not work because Android different folders ignored in the libraries.
I would be grateful for any help.
If you don't have many XML responses with different structures, you could just create a method that parses the XML for example with XPath or Java DOM. You can also take a look at XStream which is a great alternative to JAXB.
If you don't have to stick to XML, you can also switch to JSON: JSON Support - Jersey . I've personally found Jackson to be simplier than other solutions.
Related
I am working on a project in Android now that involves parsing XML from a local file.
I have done XML work extensiely in flex and have become used to the power and flexibility of E4X and it's capabilities. I wonder now if I can do something similar in android or will I be forced to parse the XML manually?
Thanks
Quoting #Andreas_D:
E4X is a language extension, XML is treated like a primitive. E4X is not just for parsing XML, it's using XML as real types.
This can't be simulated or done with a Java 'framework', it would require a language extension for Java.
And, since Android does not have JAXB, you don't have that, either.
You have your choice of DOM, SAX, and the XmlPullParser, plus any third-party Java libraries you can find that have been ported to Android and fit whatever size constraints you may have.
check this out-
Working with XML on Android
Would you please tell me about any good third party xml parsing library that can be used in Android
thanks
Simple XML is just WONDERFUL. You can use SAX or DOM which come in the official SDK, but compared to SimpleXML they are too complex (again: compared to Simple XML).
You can use SAX or JDOM. I believe SAX is a bit faster than JDOM. You can find more information about SAX on Wikipedia: http://en.wikipedia.org/wiki/Simple_API_for_XML
Also, here's a link to SAX on Android and class references from android.com: http://developer.android.com/reference/android/sax/package-summary.html
I would like to serialize an object to XML inside Android.
Any libs suggested?
PS: Already tried XStream, but it doesn't serialize enums correctly with Android. The issue is here: Serialization problem with Enums at Android
Have you tried simple http://simple.sourceforge.net/ it is working well for me, correctly handles enums, the jar is quite large though 320k.
Unfortunately I don't think there is a good solution for xml serialization of objects in Android yet. Most of the existing solutions are too heavyweight for use in mobile apps, and depend on things Android doesn't support.
For an overview of XML options, see working with xml in Android.
It's not XML, but you might want to use Google's GSON library to serialize objects. It's what they recommend in the their documentation as an alternative to Serializable:
JSON is concise, human-readable and efficient. Android includes both a streaming API and a tree API to read and write JSON. Use a binding library like GSON to read and write Java objects directly.
I want to do xml parsing of finding the "Humidity", "Current Temperature" and the "Icon" of the temperature(a SUN) in my android application.
Can anybody please help me?
This is not really related to Android platform, since Android supports standard JAXP (Java API for XML Processing). So you can use both SAX or DOM to process your file.
For comprehensive information about XML processing in Java you could take a look at this book.
For a quicker Java XML processing tutorial here you have an example (there are thousands).
I have to parse some complex xml files inside my Android application. Is there any good library for doing that like there is TouchXMl for iPhone?
Or you could use the org.xmlpull.v1.XmlPullParser - I've found it much easier to use than the SAX Parser and it has other benefits:
http://developer.android.com/reference/org/xmlpull/v1/XmlPullParser.html
http://www.bearcave.com/software/java/xml/xmlpull.html
The SAX XML Parser comes already built into the Android SDK.
Use Woodstox. It's a Stax pull parser, actually supports all of XML (unlike xmlpull that is bundled), efficient, mature. For more convenience, StaxMate helps too, uses Woodstox (or any other Stax parser) for parsing but exposes convenient cursors and writers; but is still 3x - 5x faster than DOM approach.
XmlPullParser that was mentioned works to some degree, but can't handle DTDs (not just validation but even basic character entities), gives cryptic error messages and doesn't have standard interface (SAX or Stax).
Don't know the criteria by which "best" is defined. but here is a recent research paper that analyzes existing java xml framework with great details...
http://recipp.ipp.pt/bitstream/10400.22/1847/1/ART_BrunoOliveira_2013.pdf