[150] Re:XMLファイルを検索
投稿者:神奈川
2007/02/20 02:13:25
>> NodeList pretestlist = elementlist.getElementsByTagName
>...
>>しかしこの状態だとエラーが発生してしまいました・・
>
>そりゃNodeListに対してgetElementsByTagName()はできないでしょう。
>Elementを取り出してからにしないと。
たびたびすみません。
うーん・・解らないですね。。
Elementを取り出すとは、何でしょう?
どうすれば、elementの下のpretestのみを取得できるのでしょう?
僕のイメージは、親を指定して例えば(element)
その後に子を指定する(pretest)を行って初めて、
そのpretestにたどり着くようなイメージがあるのですが、
とんでもない勘違いをしているのでしょうか?
Element root = doc.getDocumentElement();
⇒ルート要素取得(ドキュメントの下のノードを取得したことになりますよね?)
NodeList list = root.getElementsByTagName("タグの名前");
⇒タグの名前要素のリストを取得(ルート要素で取得したノードに対してタグの名前要素のリス トを取得)
リストを取得して⇒ノードを取得⇒リストを取得して⇒ノードを取得
を繰り返す事で末端の要素にたどり着くのでしょうか?
すみません。。ほんとに解らなくて・・・ここさえ解れば、あとは何とか成りそうなんですが・・(実は、ものすごい単純なのかもしれませんが宜しくお願いします)
下のようなxmlならば、elementの下のpretestを指定する。
(後はitemごとにtextを取得するこれ自体は、可能)
<?xml version="1.0" encoding="Shift_JIS" ?>
<site>
<title>JavaでHello World</title>
<element id="28">
<pretest id="28">
<title>EJB編</title>
<file>ejb.htm</file>
</pretest>
<pretest>
<title>DOM編</title>
<file>xmldom.htm</file>
</pretest>
</element>
<element1 id="28">
<pretest id="28">
<title>neko</title>
<file>neko.htm</file>
</pretest>
<pretest>
<title>DOMneko編</title>
<file>xmldomneko.htm</file>
</pretest>
</element1>
</site>