wood burning stoves 2.0*
The moose likes Java in General and the fly likes looking for a creative way to get a string from file.xml Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "looking for a creative way to get a string from file.xml " Watch "looking for a creative way to get a string from file.xml " New topic
Author

looking for a creative way to get a string from file.xml

Adrian Burlington
Ranch Hand

Joined: Jun 16, 2009
Posts: 75
Can anyone think on a creative solution for this: I'm trying to output the content of an XML file on the a JTextArea but I wish the format to be neatly like in the pic below (with indentation).

I tried StringTokenizer / matcher pattern but the result are far from desired.

Thanks!

Currently I have the below in one long line (String)


Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 13868
    
  10

I just see a broken image icon, no image...


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19541
    
  16

That's hotlink prevention in action. The image URL is http://postimage.org/image/1gnszfq9w/

The easy way to do this is using a third party library. JDOM has classes XMLOutputter and Format; the latter has static method getPrettyFormat() which returns a Format that adds proper indentation etc. XMLOutputter can output to any Writer, so that includes StringWriter.
A short piece of code:

An alternative is go the hard way:
- maintain the indentation yourself
- when you encounter an element start tag, increase the indentation
- when you encounter an element end tag, decrease the indentation

The latter technique has the advantage that your not limited to a DOM solution, where the entire document is stored in memory. You could also use it for a SAX or StAX solution where you only get the latest element / attributes / text.


SCJP 1.4 - SCJP 6 - SCWCD 5 - OCEEJBD 6
How To Ask Questions How To Answer Questions
Adrian Burlington
Ranch Hand

Joined: Jun 16, 2009
Posts: 75
Hi Rob,

THANKS!!!

Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19541
    
  16

You're welcome.
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: looking for a creative way to get a string from file.xml
 
Similar Threads
Try this Applet
Any one can help!
end of month calculation
WA #1.....word association
how to replace integer in agiven string