I’m relatively new to java and android, in my android application I need to get an XML file, transform it and show it to a user.
I know how to parse XML, but I don’t want to parse it and generate views after. I’d like to transform it to an HTML and display in a WebView.
I’m trying to find something on the Internet but can’t find anything.
How can I do it? Any ideas or links will be appreciated,
thanks
The usual tool to use for transforming XML to HTML is XSLT. Search SO for XSLT tutorial and you’ll get some good results.
Here is another question showing how one developer used XSLT on Android.
You can also search for examples of the use of Transformer in Java, as in this helpful article:
Update:
For older versions of the Android java API:
This article shows how to use a SAX parser to parse the input XML, then use XmlSerializer to output XML. The latter could easily output whatever XHTML you want. Both are available since API level 1.
Unfortunately I don’t see a way to do XPath in API level 3, but if your input XML isn’t too complex you should be able to code your own transformations. I know you “don’t want to parse it and generate view after”, but if you mean you don’t want to even use an XML parser that’s provided by Android, then I don’t know of any alternative.
Update 2:
I just learned about XOM, which supports a subset of XPath. This question shows someone using XOM on Android (to write XML) with API level 4. You could take advantage of the XPath features, as well as the serialization features. It requires a small external library, XOM’s jar. I don’t know if it’s compatible with API level 3.