未启用XSL扩展的php5中的XSL转换

未启用XSL扩展的php5中的XSL转换,php,xslt,Php,Xslt,我面临着一个愚蠢的局面。。。我必须让一个执行XSLT转换的应用程序在一个机构服务器上运行,并且这个服务器配置了php5而没有启用XSL。。。 不幸的是,更改托管解决方案不是一个选项,负责服务器的IT人员不愿意重新配置它并启用XSL 所以这里是我的虚拟问题:在没有启用XSL的情况下执行XSL转换是否可能?(准确地说,我需要用XSL文件转换XML字符串,如果有必要的话) 我已经检查了DOM,但是示例使用的类在我的实际脚本中引发了致命错误(XSLTProcessor) 任何建议都将不胜感激 有些PEA

我面临着一个愚蠢的局面。。。我必须让一个执行XSLT转换的应用程序在一个机构服务器上运行,并且这个服务器配置了php5而没有启用XSL。。。 不幸的是,更改托管解决方案不是一个选项,负责服务器的IT人员不愿意重新配置它并启用XSL

所以这里是我的虚拟问题:在没有启用XSL的情况下执行XSL转换是否可能?(准确地说,我需要用XSL文件转换XML字符串,如果有必要的话) 我已经检查了DOM,但是示例使用的类在我的实际脚本中引发了致命错误(XSLTProcessor)


任何建议都将不胜感激

有些PEAR包处理XML/XSLT。不过,我对他们中的任何一个都没有任何个人经验


请注意,获取pear包不需要安装pear,可以手动下载。

我从未听说过XSLT处理器的PHP实现。如果有,它可能会很复杂,被窃听,而且很可能无法维护

您应该研究其他解决方案,例如使用其任务是执行转换的远程服务器(如果适用于您的情况),或者如果可能的话,使用来运行命令行处理器

根据转换的复杂性,您最好使用PHP和。我不是说在这里制作一个XSLT处理器,那太疯狂了,只是不使用类似的东西

<xsl:for-each select="/foo/bar">
    <xsl:value-of select="@baz" />
</xsl:for-each>

当然,如果您的样式表非常基本/简单,那么这只是一个现实的解决方案。

虽然许多(可能大多数)PEAR软件包在下载和提取后都可以正常工作,但有些软件包需要安装程序进行替换,如include path so YMMV。感谢您的提示!不幸的是,在这种情况下,包装似乎不适合,但我会记住梨!因此,问题是如何在没有XSLT处理器的情况下执行转换?谢谢你,乔希!不幸的是,XSL过于复杂,无法合理地使用SimpleXML。不过,基本的exec()解决方案似乎是可行的。
foreach ($foo->bar as $bar) {
    echo $bar['baz'];
}