- PR -

XML文書からの

1
投稿者投稿内容
jokers
ベテラン
会議室デビュー日: 2002/08/04
投稿数: 73
投稿日時: 2003-09-25 11:32
たびたびスイマセン。
 今回XMLを扱うのは初めてですのでいろいろな文献をみながらごく簡単なものを作っておりますが、
 xerces for Java(XMLパーサ)を使用してまず、要素および要素の内容を取得するあるいは、管理者から変更できるというものを作成しようと思っております。
 XMLは以下のようなものです。
<?xml version="1.0" encoding="Shift_JIS"?>
<!-- IDnumberとpasswordを検証 -->
<admin>
<IDnumber>
root
</IDnumber>
<password>
kfoeifei
</password>
</admin>
管理者用IDナンバーとパスワードをhtmlフォームに入力して、サーブレットの中にXMLから値を取得、照合を行う。または、パスワードを管理者権限で変更できるというものを作成中です。
とりあえず以下のように記述してみました。

public class adminPasswordChecking extends HttpServlet {

private String IDnumber;

public void doGet(HttpServletRequest req,HttpServletResponse res)
{

try{

DOMParser parser=new DOMParser();
//URLを指定してパースする
parser.parse("http://localhost:8080/プロジェクトフォルダー/adminPassword.xml");
Document doc =parser.getDocument();
Element el=doc.getDocumentElement();
System.out.println("Top Level Element: "+el.getTagName());
NodeList children = el.getChildNodes();
int i;
Node node;
for(i=0; i<children.getLength(); i++)
{
node=children.item(i);
System.out.println("node= "+node.getNodeValue());

}
     }
     catch(IOException e)
{
e.printStackTrace();
}
     catch(SAXException e)
 {
e.printStackTrace();
 }

}

     }
コンソールでは以下のようになりました。
Top Level Element: admin
  node=   node= null node= null
node= node=

『Java 500の技』という文献ではこのように書いてあります
    要素の内容Text
      getNodeNameの戻り値は#textで固定
     *getNodeValueはテキストデータの内容を返す

   となっているが上記の通りやってみるとコンソールにnullと""しか表示されないようで  す。
   手元にある文献を調べましたが、他の方法は載ってないようです。
   具体的にrootやkfoeifei 要素の内容を取得できる方法は
   何かありますか。
   また、xerces for Java(XMLパーサ)について詳しく書いてある書籍がありましたら
  できましたらご紹介いただきたいのですが。
   余談ですが、XML文書に暗号にて記述して、暗号を解読できればと思っていますが。    









[ メッセージ編集済み 編集者: jokers 編集日時 2003-09-25 11:33 ]

[ メッセージ編集済み 編集者: jokers 編集日時 2003-09-25 11:35 ]
R-55
常連さん
会議室デビュー日: 2003/03/13
投稿数: 29
投稿日時: 2003-09-25 13:24
こんにちは、R-55です。

<admin>の子である<IDnumber>の子の「root」というテキストノードを
取り出さなくてはいけません。

そのプログラムで取り出したのは

<IDnumber>
<password>

とその前後と間にある3つの改行だけのテキストノードです。
<IDnumber>と<password>のさらに子をとりだしてやる必要があります。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2003-09-25 15:09
引用:

余談ですが、XML文書に暗号にて記述して、暗号を解読できればと思っていますが。    



XMLで暗号化をしたければ、W3Cのサイトで"XML encryption"で検索かければ、仕様書やツールに関する情報が得られるかもしれません。
必要な時期がきたらチェックしてみてください。

[ メッセージ編集済み 編集者: かずくん 編集日時 2003-09-25 15:13 ]
1

スキルアップ/キャリアアップ(JOB@IT)