当前位置:  开发笔记 > 编程语言 > 正文

在xslt中打印php数组

如何解决《在xslt中打印php数组》经验,为你挑选了1个好方法。

有没有办法在xslt中打印php数组?我正在使用php会话并尝试在xslt样式表中打印孔数组.



1> Stefan Gehri..:

要在XSLT样式表中使用数组,首先必须将数组转换为XML表示形式.这种表示很大程度上取决于您的数组结构.一个简单的方法是:

$array = (
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3'
);

// ext/DOM can also be used to create XML representation
$xml = new XMLWriter();
$xml->openMemory();
$xml->startDocument('1.0', 'UTF-8');
$xml->startElement('array');
// simple one-dimensional array-traversal - depending on your array structure this can be much more complicated (e.g. recursion)
foreach ($array as $key => $value) {
        $xml->writeElement($key, $value);
}
$xml->endElement();

/*
 * $xml will look like
 * 
 *      value1
 *      value2
 *      value3
 * 
 */

// convert XMLWriter document into a DOM representation (can be skipped if XML is created with ext/DOM)
$doc = DOMDocument::loadXML($xml->outputMemory());

// Load XSL stylesheet
$xsl = DOMDocument::load('stylesheet.xsl');

// Fire-up XSLT processor
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl);

// Output transformation
echo $proc->transformToXML($xml);

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有