有没有办法在xslt中打印php数组?我正在使用php会话并尝试在xslt样式表中打印孔数组.
要在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 ** */ // 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);value1 *value2 *value3 *