0

HTML入力フィールドから取得した値を使用してXMLファイルを検索するさまざまな方法としてこのサイト全体を調べ、これを行うことができましたが、一致が見つかったときにできることは、「マッチが見つかりました!」.

私がやりたいのは、html入力フィールドに入力された検索文字列値を使用してXMLファイルを検索できるようにすることです。一致が見つかったら、すべての属性と同様に、その特定のノードの残りの情報を取得します。

私の XML ファイルの例:

<dvdcatalogue>
<dvd year="1979" rating="18" director="ridley scott">Alien</dvd>
</dvdcatalogue>

映画のタイトルが「エイリアン」なので、それが検索文字列になります。

これを行う方法はありますか?おそらくjavascript配列へのロードと関係があると思います。これまでに見た例のどれも、これを達成する正確なコードについてそれほど明確ではなかったことを、回答者に知らせるためだけに。

事前に助けてくれてありがとう!!

4

1 に答える 1

0

このフィドルで行ったように、このタスクにもjQueryを使用できます(ただし、XPathの方が正しい方法です^^)

var xml = $("<dvdcatalogue>" +
               "<dvd year=\"1979\" rating=\"18\" director=\"ridley scott\">Alien</dvd>" +
               "<dvd year=\"1986\" rating=\"18\" director=\"ridley scott\">Aliens (aka. Alien 2)</dvd>" +
               "<dvd year=\"1984\" rating=\"18\" director=\"James Cameron\">Terminator</dvd>" +
               "</dvdcatalogue>"),
       search = "Alien",
       result = $("#result"),
       nodes;

       nodes = xml.find("dvd:contains('" + search + "')");

    if (nodes.length > 0) {
        nodes.each(function(i, e) {
            result.append("<li><b>" + e.firstChild.nodeValue + "</b> by " + e.getAttribute("director") + "</li>");
        });
    }
于 2012-05-03T06:49:09.013 に答える