user3282758
user3282758

Reputation: 1471

how should I store xml data in a java class

I am just beginning to learn to read xml in java. My question is very basic. How do I store attributes and sub-elements of an xml element in a java class.

Thus if I have a simple xml file as follows :

<?xml version="1.0"?>
<class>
   <student rollno="393">
      <firstname>dinkar</firstname>
      <lastname>kad</lastname>
      <nickname>dinkar</nickname>
      <marks>85</marks>
   </student>
   <student rollno="493">
      <firstname>Vaneet</firstname>
      <lastname>Gupta</lastname>
      <nickname>vinni</nickname>
      <marks>95</marks>
   </student>
   <student rollno="593">
      <firstname>jasvir</firstname>
      <lastname>singn</lastname>
      <nickname>jazz</nickname>
      <marks>90</marks>
   </student>
</class>

How do I design a java class to store student data. If sub-elements are stored as data members then how should I store the attribute rollno

Upvotes: 0

Views: 2283

Answers (3)

DBG
DBG

Reputation: 1

You should use the TransformerFactory class as shown:

try {
            
    Document document = null;
    TransformerFactory tf = TransformerFactory.newInstance();
    Transformer transformer = tf.newTransformer();
    DOMSource source = new DOMSource(document);
    File f = new File(fileName + ".xml");
    StreamResult result = new StreamResult(f);
    transformer.transform(source, result);
    
} catch (TransformerException e) {
    throw e;
}

Remember that you have to add TransformerException to the method signature.

Upvotes: 0

Bahramdun Adil
Bahramdun Adil

Reputation: 6079

First create a Student bean class as below:

public class Student {
    private int id;
    private String firstName;
    private String lastName;
    private String nickName;
    private int marks;

    // getters and setters
}

Then you can use DOM parser or SAX parser util populate the data.

Upvotes: 0

Nikolas
Nikolas

Reputation: 44378

I recommend you to use JAXB to map XML file into POJO objects.

Upvotes: 2

Related Questions