2012-03-12 43 views
1

我使用HTML(5),CSS3和Javscript(以及朋友)在Phonegap中編寫應用程序。我有一個問題,雖然:解析XML的作品很好,我得到了我的屏幕上的XML文件中的所有項目,我可以通過CSS來設計它們。從XML文件中分離出一個結果

每個XML項目都有一個標題,圖像,傳情和「lees-verder」(「多讀」,其中大多隻包含嵌入的視頻)。

這是我用它來查看每個項目的標題,圖片和傳情的腳本:

<script> 
    $(document).ready(function(){ 
     $.ajax({ 
      type: "GET", 
      url: "webzap.xml", 
      dataType: "xml", 
      success: function(xml) { 
       $(xml).find('item').each(function(){ 
        var urllist = $(this).find('link').text(); 
        var node = urllist.substring(urllist.lastIndexOf('-')+1); 
        var id = node; 
        var total = $(this).find('id').text(); 
        var title = $(this).find('title').text(); 
        var url = $(this).find('link').text(); 
        var brief = $(this).find('teaser').text(); 
        var long = $(this).find('lees-verder').text(); 
        var pubDate = $(this).find('pubDate').text(); 
        var img = $(this).find('image').text(); 
        $('<a href="http://www.flabber.nl/node/'+id+'"><div class="items" id="link_'+id+'"></div></a>').appendTo('.class2'); 
        $('<h2 class="title_list" style="margin-top: 40px;"></h2>').html(title).appendTo('#link_'+id); 
        $('<h6 class="pubDate"></h6>').html('Dit is node nummer '+id).appendTo('#link_'+id);       
        $('<div class="introtekst"></div>').html(brief).appendTo('#link_'+id); 
        $('<div class="introtekst"></div>').html(total).appendTo('#link_'+id);      
        $('<div class="screenshot"></div>').html('<img src="'+img+'" height="120"/><br />').appendTo('#link_'+id); 
        $('<h2 class="title"></h2>').html(title).appendTo('#link_'+id); 
        /*$('<div class="content"></div>').html(long).appendTo('#link_'+id); */ 
        /*$('<div class="introtekst" id="link_'+id+'"></div>').html('<a href="'+url+'">Open volledige website</a>').appendTo('#link_'+id);*/ 
       }); 
      } 

     }); 
    }); 
</script> 

我現在想的是,我點擊一個項目,然後在一個新的頁面,顯示打開標題,圖片,預告片和「lees-verder」。另一種可能性是,如果用戶點擊某個項目時所有XML內容都消失了,但他/她所點擊的項目除外。 「lees-verder」應該也被加載,因爲當我簡單地用「display:none」隱藏它時在CSS中,無論如何都會加載它們,並會大幅降低應用程序的速度。我當然一直在尋找網絡,但我找不到我需要的東西。

這是我的一個XML文件,如果這樣可以讓你更容易。 :)

<item> 
<title>Wat is een schrikkeljaar?</title> 
<link> 
http://www.flabber.nl/linkdump/video/wat-is-een-schrikkeljaar-10653 
</link> 
<teaser> 
<![CDATA[ 
Het is 29 februari, tijd om uit te leggen wat een schrikkeljaar is. 
]]> 
</teaser> 
<lees-verder> 
<![CDATA[ 
<p><iframe width="720" height="396" src="http://www.youtube.com/embed/xX96xng7sAE?rel=0" frameborder="0" allowfullscreen></iframe></p> <p>Check ook <a href="http://www.youtube.com/watch?v=53glKEPzElA">de video van MinutePhysics</a>.</p> 
]]> 
</lees-verder> 
<image> 
http://images.flabber.net/files/linkdump/schrikkeljaarwatishet.jpg 
</image> 
<pubDate>Wed, 29 Feb 2012 11:19:00 +0100</pubDate> 
</item> 

感謝一堆提前!如果您有任何疑問,或者我不夠清楚,只需詢問,我會盡力澄清!

重要提示:我無法使用PHP,因爲Phonegap不支持這一點。接受的語言:HTML(5),CSS(3)和Javascript(包括jQuery,Ajax等)

回答

0

我會建議存儲原始的XML然後處理它。 這樣,當用戶點擊一個元素(如showElement(id))調用某個元素,然後從存儲的xml(將其視爲主列表或數據庫)中檢索詳細信息時,您可以執行如下操作: 。

這是大多數webapps的製作方式。

+0

嘿,謝謝你的幫助! 不幸的是,這不是我正在尋找的,因爲我正在使用博客中的Feed,該博客不斷更新。 我從Twitter上獲得了一些幫助,他說可以解析整個文檔,而不需要加載所有內容。然後用「$(」#id_title「)。click()」應該可以加載點擊。 但我不知道如何解析沒有加載,然後單擊時加載。再次感謝! – Rvervuurt 2012-03-14 12:04:18

相關問題