2016-07-31 8 views
0

xmlをjavaで読むことを始めたところです。私の質問はとても基本的です。 JavaクラスにXML要素の属性とサブ要素を格納するにはどうすればよいですか。したがってxmlデータをJavaクラスに格納する方法

次のように私は単純なXMLファイルを持っている場合:

<?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> 

どのように私はstudentデータを格納するためのJavaクラスを設計します。サブ要素が格納されている場合は、データメンバーは、その後どのように私は、属性にrollno

答えて

1

を保存する必要があるように私はあなたがPOJOオブジェクトにXMLファイルをマッピングするためにJAXBを使用することをお勧めします。

+0

これは私にとっては良い手がかりとなります。これは私が多くの助けになると思っています。それ以上の読み方では – user3282758

+0

から始まります。JAXBは非常に大きなxmlファイルに適しています。それはDOMまたはSAXを内部的に使用しています@Nikolas Charalambidis – user3282758

+0

使用頻度の高い数値( 'rollno =" 593 "')のために大きなファイルを想定しています。 –

0

まず、以下のように学生Beanクラスを作成します。

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

    // getters and setters 
} 

を次にあなたがDOMパーサまたはutilのは、データを移入SAXパーサーを使用することができます。

+0

私は理解できませんでした。属性と要素の両方がクラス@Bahramdunのデータメンバーである必要があります。Adil – user3282758

+0

@ user3282758はい、あなたは正しいですが、IDは一意です。 –

+0

要素に複数の属性がある場合はどうなりますか?@Bahramdun Adil – user3282758

関連する問題