2005年08月15日

XMLデータをアクセスする方法

XML形式の電子データに色々な情報を格納し、
情報を多目的に利用したいというニーズは多いことでしょう。
XMLは、文書コンテンツ管理、デジタル出版、
ナレッジマネジメント、企業間電子商取引などの
インターネットビジネスをはじめ、
アプリケーション間インターフェイスのソリューションとして、
最近では次世代の
ビジネス基盤とし大きな期待が寄せられています。

XML(eXtensible Markup Language)は、
あなたもご存知の通り、
データを構造化し記述するためのマークアップ言語です。
データを作成するユーザーが独自に設定した
「タグ」で、特定の文字列データを囲み、
データを構造的に埋め込んでいく言語のことです。

XMLは全然難しくありません。
あなたもこの機会にXMLをマスターし、
あなたがつくるアプリケーションに応用してください。

今回紹介するサンプルプログラムは、
Delphiの「XMLDoc」「XMLIntf」ユニットを利用し、
XMLデータからXMLタグを指定しそのデータ値を取得したり、
指定したXMLタグ配下のタグ情報を取得するプログラムです。

全ソースは【続きを読む】をクリック!

使用例
procedure TForm1.btnReadClick(Sender: TObject);
 //------------------------------------------------------------------------------
 procedure Doc2View(pXMLDoc: TXMLDocument);
 var
  lCnt: Integer;
  lMsg: String;
  lXMLNode: IXMLNode;
 begin
  memXML.Clear;
  // <Root.RowData>配下の<Country>タグのデータを抽出し
  // 画面に表示する

  lXMLNode := _XMLFindNode(pXMLDoc.Node, 'Root.RowData');
  if (lXMLNode = Nil) then Exit;
  for lCnt := 0 to lXMLNode.ChildNodes.Count-1 do
  begin
   memXML.Lines.Add('Country');
   lMsg := Format(' Name="%s",Capital="%s",Population="%s"',
    [_XMLGetNodeValue(lXMLNode.ChildNodes[lCnt], 'Name'),
     _XMLGetNodeValue(lXMLNode.ChildNodes[lCnt], 'Capital'),
      _XMLGetNodeValue(
       lXMLNode.ChildNodes[lCnt], 'Population')]);
   memXML.Lines.Add(lMsg);
  end;
 end;
begin
 mXMLDocument := _XMLLoadFromFile(edtXMLFileName.Text);
 Doc2View(mXMLDocument);
end;

//------------------------------------------------------------------------------
procedure TForm1.btnGetNodeValueClick(Sender: TObject);
begin
 // 指定されたタグのデータを取得し画面に表示する
 edtValue.Text :=
  _XMLGetNodeValue(mXMLDocument.Node, edtTag.Text);
end;


【XMLデータ】

country_xml.gif

【画面イメージ】

XMLTester.gif

関連書籍


Copyright guy@かしらもんじ でぇ〜

続きを読む
posted by guy at 22:29 | XML編

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。


×

この広告は1年以上新しい記事の投稿がないブログに表示されております。