2011-06-30 13 views
0

私が欲しいデータを取得できないため、私が作成しているjqueryスクリプトに問題があります。jqueryを使用してxmlファイルからコンテンツを出力する

私は、レイアウトの次の並べ替え(私は断片のみを提示しています)のxmlファイルを持っている

<page1> 
    <title>First page</title> 
    <description>Lorem ipsum</description> 
    <image1 thumb='#'>images/image01.jpg</image1> 
    <image2 thumb ='#'>images/image02.jpg</image2> 
</page1> 
<page2> 
    <title>Second page</title> 
    <description>Lorem ipsum</description> 
    <image1 thumb='#'>images/image01.jpg</image1> 
    <image2 thumb ='#'>images/image02.jpg</image2> 
</page2> 

は、今私はタイトルの値に応じて説明をフェッチする方法を見つけたいです。私のコードはフォローとしてあり、私は何かがひどく間違っていると言うことができます。

$(document).ready(function() { 
    $.ajax({ 
    type: "GET", 
    url: "xml_concept.xml", 
    dataType: "xml", 
    success: parseXml 
    }); 
}); 

function parseXml(xml) { 
    $(xml).find("title":contains("First Page")) { 
    $("#text-area").append('<div class="test-xml">' + $(this).text() + '</div>'); 
    } 
} 

私は、これは私が欲しいものを参照するのではなく、全体としてのxmlされていないことをかなり確信していますか?正しい場合は、後にタグを追加して追加するにはどうしたらいいですか?私はコンテンツを正常に解析することができましたが、私が設定している条件の種類ではないため、if文やcase/switchの使用を考えていました。

もう1つ、私は ':contains'を完全に間違って使用したと仮定していますか?

$(xml).find("Title":contains("O2 Brandroom")) 

...特にコロン"Title"た後、無効なJavascriptの構文である:

あなたのヘルプはあまり問題はこのラインである

答えて

0

私は達成するためのより適切な方法を見つけました私が望む結果は、1つのxml文書に頼るのではなく、外部のHTMLコンテンツを直接読み込むことでした。

0

を高く評価しています。

このコードの意図はTitleと同じセレクタの一部であることをビットのためなので、引用符の内側に全部を入れてみてください:

$(xml).find("Title:contains('O2 Brandroom')") 
+0

ありがとうございました。それはマクセセンス。しかし、データはまだ私のHTMLに表示されていません。コードの2行目は他のテイクとうまく機能しています。$(this).text()が実際にその 'title'タグの内容を取得しているのかどうか疑問に思っています。私の例ではO2 BrandroomをFirst Pageに変更し、 'Title'は 'xml'にあるように 'title'に変更しました – infmz

関連する問題