Java HTML / XML How to - Parse an xml with only root element








Question

We would like to know how to parse an xml with only root element.

Answer

import java.io.StringReader;
//from  w w  w.  ja  v  a2s .co m
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlValue;

@XmlRootElement(name = "element")
public class Main {

  protected String elementValue;

  @XmlValue
  public String getElementValue() {
    return elementValue;
  }

  public void setElementValue(String el) {
    this.elementValue = el;
  }

  public static void main(String[] args) throws Exception {
    JAXBContext jc = JAXBContext.newInstance(Main.class);

    Unmarshaller unmarshaller = jc.createUnmarshaller();
    StringReader xml = new StringReader("<element>data</element>");
    Main myClass = (Main) unmarshaller.unmarshal(xml);

    Marshaller marshaller = jc.createMarshaller();
    marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
    marshaller.marshal(myClass, System.out);
  }

}