• 締切済み

html上のセレクトボックスを使用してxmlからデータを抽出したい

<data> <p> <a>10</a> <b>***</b> <c>***</c> </p> <p> <a>100</a> <b>###</b> <c>###</c> </p> </data> 上記の様なxmlデータからhtml上にあるセレクトボックスよりJavaScriptを使って<a>が10の場合、<a>が100の場合、等の条件でデータを抽出したいのですが。 どのようにすればよいのでしょうか?

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

IE6でしか動作確認していませんが、一応作ってみました。 <HTML> <HEAD> <TITLE>予定一覧</TITLE> <script type="text/javascript"> function search(f){ var pattern, node; f.A.value = f.COND.value; pattern="//p[a='" + f.COND.value + "']/b"; node=xmlid.selectNodes(pattern); f.B.value = node(0).text; pattern="//p[a='"+ f.COND.value + "']/c"; node=xmlid.selectNodes(pattern); f.C.value = node(0).text; } </script> </HEAD> <BODY> <XML ID="xmlid"> <data> <p> <a>10</a> <b>*b*</b> <c>*c*</c> </p> <p> <a>100</a> <b>#b#</b> <c>#c#</c> </p> </data> </XML> <form name="DATA"> A?<select name="COND" onchange="search(this.form)"> <option value="0">選択して下さい</option> <option value="10">10</option> <option value="100">100</option> </select><br> <label for="A">A:</label><input id="A" name="A" type="text" value="" size="20"><br> <label for="B">B:</label><input id="B" name="B" type="text" value="" size="20"><br> <label for="C">C:</label><input id="C" name="C" type="text" value="" size="20"><br> </form> </BODY> </HTML>

関連するQ&A