XMLファイルから検索


みにぱん  2005-05-05 02:45:50  No: 14631

環境:WinXPHOME Delphi7.0 Pro
XMLDocumentコンポーネントを使用しています。
---------------------------------------------
<?xml version="1.0" encoding="Shift_JIS"?>
<list>
<category name="日本語">
 <category name="あ行">
  <aaa>あああ</aaa>
  <aaa>いいい</aaa>
  <aaa>ううう</aaa>
 </category>
 <category name="か行">
  <aaa>かかか</aaa>
  <aaa>ききき</aaa>
  <aaa>くくく</aaa>
 </category>
</category>
</list>
---------------------------------
上の様なXMLファイルがあり、この2階層目までの日本語の部分のみをTreeViewに表示し、以下の様なツリーになりました。
---------------------------------
日本語
  |_あ行
  |_か行
---------------------------------
TreeViewの「あ行」「か行」の様に、それ以下にツリー上で階層の無い部分をクリックした時に、別に用意したListBoxにXMLの「あ行」「か行」以下の階層のデータ(あああ、かかかなど)を表示したと考えています。

クリックされた「あ行」の文字列を元に、同じ文字列のname属性の値をもつノードを取得したく、色々試してみたのですがわかりませんでした。
どなたか、ご享受いただけないでしょうか。

以下、途中ですがソースです。
  
  Root := XMLDocument1.DocumentElement;
  xmlCategory  := Root.ChildNodes[0];
  xmlCategoryItem := xmlCategory.ChildNodes[0];  ←ここが問題だと思う。

  //選択カテゴリの子ノードをリストへ追加
  while Assigned(xmlCategoryItem) do
  begin
    ListBox1.Items.Add(xmlCategoryItem.Text);
    xmlCategoryItem  := xmlCategoryItem.NextSibling;
  end;


通りすがり  2005-05-05 11:53:09  No: 14632

私、あいにく、Pro版ではないので、XMLDocumentコンポーネントがどうなってるのか分からないんですよ。。。ただ、http://www.wakhok.ac.jp/~tetsuo/delphi/text/chap_c/pb_c06.html
で配布されてるUseXMLを使いつつ、かつココで示されてるActiveXからのXMLでXMLファイルを扱ってますが、、、

殆ど同じでしょうかねぇ?

これでいいなら説明しますが、、、いかが?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加