2010-05-27 66 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