XMLDB.jp

XMLDB開発支援
HOME  >  XMLDB開発支援  >  チュートリアル ~JAVA編(2):データの変更~

チュートリアル ~JAVA編(2):データの変更~

2004年5月20日 更新


チュートリアルのコンパイルと実行

ステップ 1

以下を確認したら、次のステップに進んでください。

すでにtutrial1を実行済みで、環境が正しくセットアップされており、サーバーアドレスとログイン情報の変更方法を理解している。


ステップ 2

 a) メモ帳その他のテキストエディタ、またはIDEで、tutorial2.javaを開きます。


 b) サーバー情報とログイン情報を必要に応じて変更します。


 c) tutorial2をコンパイルして実行します。


 d) 正常に実行されると、次のように表示されます。


コード
   Storing document
   Store results: [<?xml version="1.0" encoding="UTF-8" ?>
      <Store-Results>
              <Documents-Processed>1</Documents-Processed>
              <Last-Doc-ID> 23 </Last-Doc-ID>
      </Store-Results>]
      
      
      Current document: [<?xml version="1.0" encoding="UTF-8" ?>
      <Query-Results>
              <tutorial2>
                      <name>
                              <first>John</first>
                              <last>Doe</last>
                      </name>
              </tutorial2>
      </Query-Results>]

      Modify results: [<?xml version="1.0" encoding="UTF-8" ?>
      <Modify-Results>
              <Modified-Nodes>1</Modified-Nodes>
              <Matching-Nodes>0</Matching-Nodes>
      </Modify-Results>]

      Current document: [<?xml version="1.0" encoding="UTF-8" ?>
      <Query-Results>
              <tutorial2>
                      <name>
                              <first>John</first>
                              <last>Smith</last>
                      </name>
              </tutorial2>
      </Query-Results>]

注:格納後にクエリーを実行し、変更後にクエリーを再び実行します。すると、ラストネームが「Doe」から「Smith」に変更されたことを確認できます。


コードの詳細説明(tutorial1との相違点)

第55行: s = neosession.modifyXML("/ND/tutorial2/name/last", "<last>Smith</last>");


ここでは、1つのエレメント<last>を指定する簡単なXPath式を実行します。

その後、対応するタグが完全にそろい、新しいエレメントデータ「Smith」が追加された新しいXMLフラグメントを渡します。

ご覧のとおり、とても簡単です。(数千にわたる文書の値を、これほど簡単に変更できるのです!)



--- チュートリアル(2)の終わり --- 以下はソースコードです ---


コード

//Title:        tutorial2 using NeoCore XMS
//Version:      1.0
//Date:         4/15/04
//Copyright:    Copyright (c) 2004
//Author:       Kevin Huck
//Company:      Xpriori
//Description:  Demonstrates modifying element data within a document

/**
This is a very simple Java application that demonstrates modifying element data
in a simple xml document.
*/

import com.neocore.httpclient.*;

public class tutorial2 {

   // change the below "server" variable to the machine name or IP if not running XMS on this machine
   public static String server = "localhost";
   public static SessionManagedNeoConnection neosession;
   public static String sid = null;

   public static void main(String[] args)
   {
      //--------------------- get connection and login ---------------------
      try{
         neosession = new  SessionManagedNeoConnection(server, 7700);   // neosession will manage session id for us
      }catch(Exception e){
         System.out.println("Cannot connect to NeoCore server:" + e);
         return;
      }
      try{
         // change the below password to what you entered during the installation
         sid = neosession.login("Administrator", "password");
      }catch(Exception e){
         System.out.println("Cannot login to NeoCore server:" + e);
         return;
      }

      try
      {
         //---------------- first, delete any tutorial2 documents -----------------
         String s = neosession.deleteXML("/ND[tutorial2]");

         //-------------------- now store a simple document -----------------------
         System.out.println("Storing document");
         s = neosession.storeXML("<tutorial2><name><first>John</first><last>Doe</last></name></tutorial2>", null, null);
         System.out.println("Store results: [" + s + "]");

         //-------------------- now query the sample document ---------------------
         s = neosession.queryXML("/ND/tutorial2");
         System.out.println("Current document: [" + s + "]");

         //----------------------- now modify the last name -----------------------
         s = neosession.modifyXML("/ND/tutorial2/name/last", "<last>Smith</last>");
         System.out.println("Modify results: [" + s + "]");
 
         //---------- now query the sample document to see the change -------------
         s = neosession.queryXML("/ND/tutorial2");
         System.out.println("Current document: [" + s + "]");

         //------------------------------- logout ---------------------------------
         neosession.logout();
      }
      catch(Exception e)
      {
         System.out.println("NeoCore error: " + e);
      }
   }
}
// END OF FILE - tutorial2.java

▲このページのTOPへ

  • 無償で使える!XMLDB「NeoCore」
  • サイバーテック求人情報
  • メールマガジン申し込み
  • TEchScore

  • ▲NeoCoreについて記載されています!

  • ▲XMLマスター教則本です。試験対策はこれでばっちり!
Copyright (c) CyberTech corporation ltd. All ights Reserved. | サイバーテックについて | ご利用ガイド