The most general problem in XML processing is getting text data from an element with mixed contents, e.g. text, child, text, child etc. JDOM offers a simple solution: it collects all text-sections and returns entire text at one time. Besides if source XML is formatted, text data may contain a lot of whitespaces. There is a way to trim extra spaces and get valid text:

 import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.DOMBuilder;

/**
 * This sample program showing how it is easy to access
 * to contents of JDOM document.
 */

public class Test {
    public static void main(String[] args) {
        try {
            // a builder takes a boolean value meaning validation mode:
            DOMBuilder builder = new DOMBuilder(false);
            
            // simply load the document::
            Document document = builder.build(
                    new java.io.File("sample.xml"));
            
            Element order = document.getRootElement();
            
            // find an address tag:
            Element address = 
                    order.getChild("purchased-by").getChild("address");
            
            // simply get the contents of an element:
            String addressValue = address.getText();
            
            System.out.println("Original address is: '" + 
                    addressValue + "'");
            
            // or get it wihout whitespaces:
            addressValue = address.getTextTrim();
            
            System.out.println("Nice address is: '" + 
                    addressValue + "'");
            
            // .. do something else ...
            
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}