Search code examples
javaeclipse-pluginsaxjdomjdom-2

How to convert String having contents in XML format into JDom document


How convert String having contents in XML format into JDom document.

i am trying with below code:

String docString = txtEditor.getDocumentProvider().getDocument(
txtEditor.getEditorInput()).get();

SAXBuilder sb= new SAXBuilder();

doc = sb.build(new StringReader(docString));

Can any one help me to resolve above problem. Thanks in advance!!


Solution

  • This is how you generally parse an xml to Document

    try {
      SAXBuilder builder = new SAXBuilder();
      Document anotherDocument = builder.build(new File("/some/directory/sample.xml"));
    } catch(JDOMException e) {
      e.printStackTrace();
    } catch(NullPointerException e) {
      e.printStackTrace();
    }
    

    This is taken from JDOM IBM Reference

    In case you have string you can convert it to InputStream and then pass it

    String exampleXML = "<your-xml-string>";
    InputStream stream = new ByteArrayInputStream(exampleXML.getBytes("UTF-8"));
    Document anotherDocument = builder.build(stream);
    

    For the various arguments builder.build() supports you can go through the api docs