2013-08-21 76 views
0

我正在使用雅虎管道聚合各種RSS源(並進行一些簡單的轉換等)。但是,我的提要的XHTML內容被聚合過程剝離。這個問題似乎與我的管道代碼無關,只是雅虎管道如何轉換輸入RSS的結果,我將它輸入到RSS輸出的輸出中 - 儘管兩者顯然都是RSS,但它們是完全不同的XML文件。我怎樣才能保持雅虎管道的RSS輸出中的XHTML標記

因此,例如,當「輸入」 RSS看起來是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<feed>... 
    <entry> 
... 
    <title>...</title> 
<content type="xhtml"> 
HTML CONTENT HERE 
</content> 
    </entry> 
    ... 
</feed> 

輸出看起來是這樣的:

<rss xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"> 
    <channel> 
    <title></title> 
    <description></description> 
    <link> 
    </link> 
    ... 
    <item> 
     <title>...</title> 
     ... 
     <description> 
      NON HTML CONTENT HERE 
     </description> 
     ... 
    </item> 
    </channel> 
</rss> 

看來這個問題是對的內容<內容>我的輸入中的標記正在轉換爲<說明>標記在雅虎rss輸出中,並從我擡頭看,<說明>標記沒有t支持它內部的標記,所以它的內容是純文本是有意義的。

我的問題是,我找不到任何有關雅虎爲什麼要進行此轉換或如何避免它的文檔。我沒有什麼可以在我的管道中找到,但另一方面,我找不到一種方法來訪問管道輸出的未轉換版本。看起來我一定會錯過一些東西,因爲很明顯,人們總是在RSS中使用嵌入式HTML,我無法想象它在所有管道中都被壓扁了。

這裏是鏈接到我拉在一個單一的飼料,再輸出它與雅虎的管道最小測試用例:http://pipes.yahoo.com/pipes/pipe.info?_id=5302fba3cc2d02f7a87ffdded87ce627

誰能告訴我如何修改上面的測試管,使其吐用html包含內容?或者,任何人都可以解釋/爲什麼這是不可能的?

回答

0

AFAIK您無法獲取原始Feed輸出爲XML - Yahoo!像你注意到的那樣,將你的輸出壓縮到特定的標準RSS字段。我能想到的最佳選擇是將你的輸出作爲json(一個JavaScript對象),因爲json保留了輸入中的所有字段: http://pipes.yahoo.com/pipes/pipe.run?_id=5302fba3cc2d02f7a87ffdded87ce627&_render=json 除了RSS之外,大多數現代處理器都會使用json輸出。

+0

謝謝。這有助於。我在谷歌小工具中使用輸出,它不會自行處理JSON。 我已經開始嘗試編寫代碼來使用JSON訂閱源。它已經相當不錯了,直到獲取從xhtml轉換爲json的內容提要並將其轉換回HTML輸出。必須有一個標準的方式來處理這個,但我似乎無法找到它。 – TomHinkle