2010-05-27 73 views
2

不希望成爲主觀的,但我需要從XML源獲取數據並將其轉換爲(X)HTML。從我的理解,我可以用PHP(或其他服務器端腳本),Javascript或XSLT做到這一點。我的感覺是,使用XSLT會更恰當,因爲它正在處理XML源,這是XSLT存在的目的。我還看到它的優點是,如果用戶沒有啓用Javascript並且不會被限制到運行PHP(或其他服務器端腳本)的服務器,它仍然可以工作。我的假設是否正確?XML到XHTML - 最佳方法?

也可以相同的RSS飼料?

謝謝

+0

你可以使用DOMDocument嗎? – alex 2010-05-27 14:24:07

+1

RSS _is_ XML。當然可以。 :-) – amphetamachine 2010-05-27 14:27:28

+0

我同意你使用XSLT的計劃。去吧! :) – FrustratedWithFormsDesigner 2010-05-27 14:28:06

回答

2

是的,XSLT可能是一個很好的選擇。它應該能夠在沒有JavaScript的情況下運行(在現代瀏覽器中,但我認爲即使IE 6也支持這一功能)和PHP。由於RSS(如果有效!)只是XML的一種形式,使用它作爲源應該可以很好地工作。

+0

優秀。據我所知,RSS源是有效的,但我會仔細檢查。 – Ian 2010-05-28 08:45:00

5

這取決於你的轉換應該有多激進。

XSLT真正擅長將數據從源格式轉換爲目標格式。在計算或查找和整合附加數據(例如數據庫查找,字符串處理等)方面真的很糟糕。如果您希望需要後者,XSLT不是最好的工具。

在任何情況下,我會嘗試在服務器上進行處理。格式化客戶端上的數據很好,但很大程度上取決於客戶端功能的存在。你不能總是預測這些。

例如,使用XSLT將RSS轉換爲(X)HTML非常容易,並且不需要將此任務卸載到客戶端。如果您使用PHP來代替它,那麼您的服務器無論如何都會完成所有工作。僅僅因爲有些客戶端可以運行XSLT,這是沒有理由的(至少對我來說)讓客戶端控制頁面呈現。

+0

一些有趣的觀點。在這種特殊情況下的轉換實際上是非常直接的轉換,不需要數據計算或查找。 因此,即使對於RSS或原始XML源代碼的簡單轉換,您也會推薦PHP over XSLT嗎?這肯定會使XSLT變得多餘? – Ian 2010-05-28 08:43:00

+0

@Ian:完全沒有!我認爲我的回答很清楚地表明,XSLT是一個直接轉變的完美工具......您究竟在哪裏讀到我認爲PHP應該用於簡單工作? – Tomalak 2010-05-28 10:45:27

+0

對不起Tomalak,我的錯。看起來我太快讀了你的文章:P。我很高興這是對XSLT建議的徹底清理。我以前沒有使用它,但我真的認爲這是一個相當低估的技術,因爲它提供了強大的功能和便利。非常感謝。 – Ian 2010-06-03 14:18:59

0

XSLT是轉換XML文檔的最佳方式。你指出它會給你提供可移植性,因爲轉換可以由大多數瀏覽器,Javascript或大多數編程語言在服務器端處理。 RSS也是XML的一種變體,所以同樣的推理也適用。

+0

謝謝你支持。我只是想確保在沿着一條大街或另一條大街走下去之前我沒有忽略某些東西。 – Ian 2010-05-28 08:46:10