Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak wyswietlic xml za pomoca php ?
Forum PHP.pl > Forum > PHP
qwere
witam

mam 2 problemy :

Czy jest mozliwe podmienienie w pliku xml linku href="all.xsl"
oczywiscie za pomoca php

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <?xml-stylesheet type="text/xsl" href="all.xsl"?>


na jakis inny ...chodzi o to zeby do jednego xmla było kilka xsl'ów


to raz a 2

znalazłem w manualu 3 rozne sposoby wyświetlania xmla tyle ze zaden mi nie działa sad.gif

  1. <?php
  2.  
  3. $xmldata = &#092;"all.xml\";
  4. $xsl = &#092;"all.xsl\";
  5.  
  6. function xml2html($xmldata, $xsl)
  7. {
  8.  /* $xmldata -> your XML */
  9.  /* $xsl -> XSLT file */  
  10.  
  11.  $path = 'include';
  12.  $arguments = array('/_xml' => $xmldata);
  13.  $xsltproc = xslt_create();
  14.  xslt_set_encoding($xsltproc, 'ISO-8859-1');
  15.  $html = xslt_process($xsltproc, 'arg:/_xml', &#092;"$path/$xsl\", NULL, $arguments);
  16.  
  17.  if (empty($html))
  18.  
  19. {
  20.  die('XSLT processing error: '. xslt_error($xsltproc));
  21.  }
  22.  
  23.  xslt_free($xsltproc);
  24.  return $html;
  25.  echo $html;
  26. }
  27.  
  28. ?>


ta funkcja wyplówa nic exclamation.gif!


  1. <?php
  2.  
  3. $xsl = new DomDocument();
  4. $xsl->load(&#092;"all.xsl\");
  5. $inputdom = new DomDocument();
  6. $inputdom->load(&#092;"all.xml\");
  7. $proc = new XsltProcessor();
  8. $proc->registerPhpFunctions();
  9. $xsl = $proc->importStylesheet($xsl);
  10. $newdom = $proc->transformToDoc($inputdom);
  11. $sxe = simplexml_import_dom($newdom);
  12. print('<pre>');
  13. print_r($sxe->dict);
  14. print('</pre>');
  15. ?>


a ta
  1. Fatal error: Cannot instantiate non-existent class: domdocument in c:\www\[korporacje]\stare xml\pro2.php on line 49


i znalazłem jeszcze cos takiego

  1. <?php
  2.  
  3. $xslt = new xsltTransform(&#092;"all.xsl\", \"all.xml\");
  4. print ($xslt->applyTransformation());
  5.  
  6. ?>



Ale tez nic blink.gif

Ma ktos jakies pomysły questionmark.gifmellow.gif
escaflowne
A masz "zainstalowany" w php moduł domxml? Bez tego nie masz co używać:
  1. <?php
  2. $xsl = new DomDocument();
  3. ...
  4. ?>


A co do:
  1. <?php
  2. $xslt = new xsltTransform(&#092;"all.xsl\", \"all.xml\");
  3. ?>

To nie zadziała, jeżeli nie zajrzysz na http://php.net/xslt/ i nie skopiujesz stamtąd ciała bazy xsltTransform (autor: d dot u at mail dot com).
qwere
aaa thinx smile.gif a wie ktos moze jak ugryś ten moj pierwszy problem .. tj ten z tym linkiem w pliku xml questionmark.gif


---------------------edit-----------------------
zaistalowałem to i dalej nie działa ... sad.gif ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.