2012-07-26 85 views
0

我正在創建一個控制器,它從應用程序接收某些參數,然後訪問硬編碼的URL。在收到來自URL的響應後,我的控制器應該將此響應呈現給RSS格式。將URL響應呈現爲RSS格式

在這樣做時,我決定使用XPath來創建xml標籤,然後我使用StringBuilder來追加這些標籤,然後將結果呈現爲文本。這可以在瀏覽器上顯示我想要的。

但是,當我嘗試查看頁面源代碼時,它不顯示任何標籤或標題,只是將它顯示爲頁面上的普通文本。我需要幫助,以便標題和標籤可以出現在頁面源代碼中。

回答

0

我建議讓你的控制器發送數據爲JSON,然後創建一個模板,將JSON呈現爲rss2/xml。爲了獲得最佳結果,請通過查看Feed的組織方式,使您的JSON結構易於循環以創建RSS提要。

這裏的rss2 spec

確保這條線是在你的文件的頂部,沒有前導空格

<?xml version="1.0"?> 

另外,還要確保您的內容是配有「文/ XML」爲內容-類型。在PHP中,一個將它設置爲這樣:

header('Content-Type: text/xml'); 

http://www.electrictoolbox.com/rss-php-content-type/

+0

嗨Kasapo,我感到有點困惑,究竟是什麼做的。你能否更具體一些?也許一個示例代碼可以幫助。謝謝 – 2012-07-30 10:12:42

+0

問題:您從硬編碼網址收到什麼樣的回覆?它是HTML內容還是收到JSON數據還是RSS提要?我假設你的應用程序也將POST數據發送到URL?另外,你是否使用特定的框架?如果你的XML顯示爲文本,我的第一個想法是內容類型頭設置錯誤。如果你「curl -I http://your.test.site/controller」,你應該看到「text/plain」或「application/xml + rss」等等。如果它是文本/純文本,那麼它將顯示爲文本。如果您可以在控制器中設置內容類型標題,那可能會有所幫助。 – Kasapo 2012-07-30 13:21:11

+0

另外,谷歌瀏覽器將顯示XML作爲原始文本(文本/無格式)大量的時間(可能是或作爲XML),但Firefox將尊重內容類型並顯示RSS作爲進料。試試這個例子:http://online.wsj.com/xml/rss/3_8068.xml無論如何,如果你讓我知道你使用的是什麼語言/框架,我可以給你更具體的例子。 – Kasapo 2012-07-30 13:47:07