1

このコードを使用して、XML ファイルからページのタイトルを取得しました。ここで、同じ XML ファイルにも存在する対応するタイトルの説明を表示したいと考えています。それ、どうやったら出来るの?

        var queryObj = new Object();
        var querystring = location.search.replace('?', '');
        var vars = querystring.split("&");
        for (var i = 0; i < vars.length; i++) 
        {
            var pair = vars[i].split('=');
            var key = pair[0];
            var value = pair[1]; 
            var value = decodeURI(value);
            queryObj[key] = value;

        }

        if(queryObj["activity"] != "" && queryObj["phase"] != "")
        {
            $("#TaskTitle").html(queryObj['phase']+": "+queryObj['activity']);
        }
4

2 に答える 2

3

次のような XML があるとします。

<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications 
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies, 
      an evil sorceress, and her own childhood to become queen 
      of the world.</description>
   </book> ..so on
</catalog>

これを文字列に保存してから実行parseXML()し、次のような変数にプッシュします。

var xmlDoc= $.parseXML(myXmlString)

これで、このxmlDoc変数を DOM オブジェクトとして使用し、必要に応じて に$()引数として渡してトラバースできるようになりました。

$(xmlDoc)

find()これで、などを読んでclosest()、jQuery でどのようにトラバースするかを学ぶことができます。

たとえば、idのセクションにある本のXML 開発者ガイドの著者を取得したい場合は、次のようにします。<book>#bk101

$(xmlDoc).find("#bk101").find("author") 

             //OR

$(xmlDoc).find("#bk101 author") 

             //OR

$("#bk101", xmlDoc).find("author")

それでおしまい。ここにデモがあります:http://jsfiddle.net/hungerpain/N3mYa/

于 2013-06-17T14:15:16.040 に答える