2012-03-29 27 views
1

私は、Java Swingでユーザーログイン用のGUIインターフェイスを作成しようとしています。自分のデータをXMLファイルに保存しようとしていて、Javaからアクセスし、GUIに入力されたユーザー名とパスワードがxmlデータ内の指定されたユーザーの詳細と一致するかどうかを確認する必要があります。一致した場合、次のレベルへのアクセス権が与えられます。xmlファイルをJavaから読み取る

私はXMLファイルにアクセスするためにSAXパーサーを使用しようとしています。私はSAXパーサーの仕組みや、GUIからの入力とのマッチングにどのように使用できるのか理解できません。

助けてください。すべてのあなたの助けを前もってありがとう。あなたのGUI要素のそれぞれについて

+2

DOMやJAXBを理解するのに役立つことを願っています

は、SAXよりも優れたモデルです – artbristol

答えて

0

あなたがテキストを取得し、オープンなXMLのために、それがアウトTHIS CODEをチェック解析する必要があり、それが役に立つ

2

になり、あなたの文書をモデル化している場合、あなたは、JAXBを使用することができます。

JAXBContext jc = JAXBContext.newInstance("myPackageName"); 
//Create unmarshaller 
Unmarshaller um = jc.createUnmarshaller(); 
//Unmarshal XML contents of the file myDoc.xml into your Java object instance. 
MyJAXBObject myJAXBObject = (MyJAXBObject) 
    um.unmarshal(new java.io.FileInputStream("myDoc.xml")); 
をあなたは、モデルのスキーマを持っている場合

あなたは簡単にそれを検証することができ

ここに例がある

http://www.mkyong.com/java/jaxb-hello-world-example/

0

あなたは

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); 
Document doc = docBuilder.parse("/home/riddhish/developerworkspace/SplitString/src/com/updatexmlwithjava/two.xml"); 

NodeList username = doc.getElementsByTagName("username");   
System.out.println("username ="+username.item(0).getTextContent()); 
NodeList password = doc.getElementsByTagName("password");   
System.out.println("password ="+password.item(0).getTextContent()); 
0

SAXパーサは、DOM/JAXBから異なる働きこの方法を行うことができます。 DOMでは、XMLコンテンツはDOM生成ノード/要素を介してアクセス可能です。 SAXを使用して、パーサはXMLファイルを読みますと、イベントを介したよりも、それはコンテンツ・ハンドラなどのようにわかります。このようなタグの属性などの情報で

  • スタートタグ
  • 終了タグ

を、コンテンツなど

例:

public class TagHandler extends DefaultHandler{ 

//tag opening detection 
public void startElement(String uri, String localName, 
     String qName, Attributes attributes) throws SAXException{ 
    // ... your code 
} 
//tag closing detection 
public void endElement(String uri, String localName, String qName) 
     throws SAXException{ 
    // ... your code 
} 

} 

以上であり言及された2つの出来事よりも。あなたのXMLファイルが巨大でない限り、私はそれはあなたがSAXをより良い

関連する問題