2012-04-24 24 views
1

サブディレクトリのreddit XMLフィードを使用しようとしていますが、JavaScriptで解析する際に問題があります。jQueryを使用してReddit XMLを解析する問題

私はこのコード

function parseXml(xml) { 
    var xmlResult = ""; 
    $(xml).find("item").each(function() { 
     xmlResult = xmlResult + ($(this).find("title").text()) + "<br />"; 
    }); 
    document.write(xmlResult); 
} 

を持っているが、問題はそれがタイトルを複製ということです。

Reddit XMLフィードには、titleタグとmedia:titleタグがあります。私はこの複製をどのように修正できるのか?

例:タイトルは「投稿の本当にすてきなタイトル」で、私の出力では「投稿の本当にすばらしいタイトルです」と表示されます。

+0

解析するXMLフィードへのリンクを追加できますか? –

+0

@PierreSpringここに行きます:http://www.reddit.com/r/mylittlepony/new/.rss – ixchi

+0

あなたのコードは、jQueryに似ているようです。フレームワークまたはライブラリを使用している場合は、独自のXMLパーサーを記述する必要はありません。これらの関数を使用していない場合は、関数のコードも記述する必要があります。 –

答えて

0

問題は<item>要素が同じ値を持つ<title>という2つの要素が含まれていることである:あなたがtitleセレクタを使用する場合

<item> 
    <title>Really awesome title of post</title> 
    ... 
    <media:title>Really awesome title of post</media:title> 
    ... 
</item> 

、jQueryのは、それらの両方を返すと一緒にテキストを連結します。要素は、あなたが得るどちらもかまいませんとにかく同じ値を含んでいるので

$(this).find("title").first().text() 

この問題を回避するには、最初の要素を選び出すことであろう。