Avatar billede benjax Nybegynder
07. april 2005 - 10:06 Der er 2 kommentarer og
1 løsning

Problem med simplexml asXML()

asXML() burde returnere XML-indholdet af et XML-dokument, men jeg får blot tekst retur, dvs. indholdet af tags'ne.

------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>XML test</title></head>
<body>
<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
<movie>
  <title>PHP: Behind the Parser</title>
  <characters>
  <character>
  <name>Ms. Coder</name>
  <actor>Onlivia Actora</actor>
  </character>
  <character>
  <name>Mr. Coder</name>
  <actor>El Act&#211;r</actor>
  </character>
  </characters>
  <plot>
  So, this language. It's like, a programming language. Or is it a
  scripting language? &lt;br&gt;All is revealed in this thrilling horror spoof
  of a documentary.
  </plot>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
</movie>
</movies>
XML;

$xml = simplexml_load_string($xmlstr);

$xml->movie[0]->characters->character[0]->name = 'Miss Coder';

echo $xml->asXML();
?></body>
</html>
------------------------

Eksemplet er i øvrigt hentet fra www.php.net/simplexml.

Jeg benytter PHP 5.0.3 på XP.
Avatar billede coderdk Praktikant
07. april 2005 - 10:22 #1
Nej, det virker fint, du skal bare ikke lave HTML, og du skal sætte en content type:

<?php
$xmlstr = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
<movie>
  <title>PHP: Behind the Parser</title>
  <characters>
  <character>
  <name>Ms. Coder</name>
  <actor>Onlivia Actora</actor>
  </character>
  <character>
  <name>Mr. Coder</name>
  <actor>El Act&#211;r</actor>
  </character>
  </characters>
  <plot>
  So, this language. It's like, a programming language. Or is it a
  scripting language? &lt;br&gt;All is revealed in this thrilling horror spoof
  of a documentary.
  </plot>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
</movie>
</movies>
XML;

$xml = simplexml_load_string($xmlstr);

$xml->movie[0]->characters->character[0]->name = 'Miss Coder';

header('content-type: text/xml');
echo $xml->asXML();
?>

Du kan se det ved at læse sourcen for den side du har nu ;)
Avatar billede detox Nybegynder
07. april 2005 - 10:25 #2
Du kan osse gemme det i en fil:

$xml = simplexml_load_string($xmlstr);
$xml->movie[0]->characters->character[0]->name = 'Miss Coder';
$xml->asXML('test.xml');
?>
Avatar billede benjax Nybegynder
07. april 2005 - 10:28 #3
Selvfølgelig.... ;o) Tak!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester