首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的PHP、XSL和XML不能工作?

为什么我的PHP、XSL和XML不能工作?
EN

Stack Overflow用户
提问于 2013-01-31 04:30:01
回答 1查看 770关注 0票数 1

我已经尝试了很多东西,但是我不能在屏幕上加载任何东西。PHP在屏幕上加载XML没有问题,但是当我在PHP中添加XSL代码时,屏幕就是空白的,没有错误或者什么都没有。有谁知道为什么吗?

谢谢

PHP文件:

代码语言:javascript
复制
<?php
$doc = new DOMDocument();
$doc->load( 'books.xml' );

$xsl = new DOMDocument;
$xsl->load( 'books.xsl' );

$books = $doc->getElementsByTagName( "book" );

$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

foreach( $books as $book )
{
    $authors = $book->getElementsByTagName( "author" );
    $author = $authors->item(0)->nodeValue;

    $publishers = $book->getElementsByTagName( "publisher" );
    $publisher = $publishers->item(0)->nodeValue;

    $titles = $book->getElementsByTagName( "title" );
    $title = $titles->item(0)->nodeValue;

    echo $proc->transformToXML($doc);

    // echo "$title - $author - $publisher\n";
}    
?>

XML文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="ISO-8859-1"?>
<books>
  <book>
    <author>Jack Herrington</author>
    <title>PHP Hacks</title>
    <publisher>O'Reilly</publisher>
  </book>
  <book>
    <author>Jack Herrington</author>
    <title>Podcasting Hacks</title>
    <publisher>O'Reilly</publisher>
  </book>
</books>

XSL文件:

代码语言:javascript
复制
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
    <body>
      <h2>My CD Collection</h2>
        <table border="1">
          <tr bgcolor="#9acd32">
            <th>author</th>
            <th>title</th>
            <th>publisher</th>
          </tr>
          <xsl:for-each select="books/book">
            <tr>
              <td><xsl:value-of select="author"/></td>
              <td><xsl:value-of select="title"/></td>
              <td><xsl:value-of select="publisher"/></td>
            </tr>
          </xsl:for-each>
        </table>
      </body>
  </html>
</xsl:template>

</xsl:stylesheet>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-30 13:58:10

这很简单,你只需要这样:

代码语言:javascript
复制
 $xsl = new DOMDocument;
 $xsl->load(  ($xsl_url));
 // Create new XSLTProcessor
 $xslt = new XSLTProcessor();
 // Load xsl stylesheet
 $xslt->importStylesheet($xsl);
 // Load XML input file
 $xml = new DOMDocument;
 $xml->load(  ($xml_url));
 // Transform to string
 $results = $xslt->transformToXML($xml);
 //response
 print $results;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14613113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档