Reputation: 1471
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
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
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