[mysql -> XML DOM] Hoe genereer ik dit ?

Pagina: 1
Acties:

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
Search heeft GEEN antwoord kunnen bieden ..
Hoe kan ik de array's die ik met PHP uit de MYSQL-db heb gehaald omtoveren naar XML-code ?

ik heb dus deze code :
$sql = "Select * from cd";
$resultaat = mysql_query($sql);
while ($result = mysql_fetch_object($resultaat))
{
echo "
<tr>
<td><a href= #>$result->titel</a></td>
<td><a href= #>$result->prijs</a></td>
<td>";
echo "".nl2br($result->omschrijving);
echo "</td>
</tr>
";
}
?>

deze wil ik dus i.p.v. HTML , in XML hebben ..
wie kan my een voorbeeld geven, of wie kan mij een aantal hints geven ? (of iets waar ik meer kan vinden)

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

How about gewoon "<prijs>$row[prijs]</prijs><naam>$row[naam]</naam>" outputten? Natuurlijk wel denken aan het root element, en eventjes een header meesturen voor je het print.

Rustacean


  • Vampier
  • Registratie: Februari 2001
  • Laatst online: 20-04-2015

Vampier

poke-1,170

<artikellen>

loop

<artikel prijs="<$=prijs$>" naam="<$=naam$>" />

einde loop

</artikellen>

  • Orphix
  • Registratie: Februari 2000
  • Niet online
Vaak wil je echter een hierarchie in je XML hebben en dus groeperen.
Ik heb hier hiervoor wat geschreven in PHP die automatisch records groepeert en de juiste tags zet dus
code:
1
2
3
4
5
6
7
8
9
<bedrijf>
   <naam>C1000</naam>
   <persoon> .... </persoon>
   <persoon> .... </persoon>
</bedrijf>
<bedrijf>
   <naam>AH</naam>
   <persoon> .... </persoon>
</bedrijf>

Ik weet niet of je dit ook wilt?

M'n eigen code is niet zo heel erg sterk, vrij specifiek voor mijn situatie. Weet iemand of hier al scripts voor zijn/een betere methode voor is?

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 25-08 22:31
Wat ik wil is dat ik de data, wat ik heb opgehaald met PHP, in een XML-document zetten.
Dit wil ik graag in 1 keer goed doen, ik hoorde iets over het XML-DOM ??

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:35
Manuzhai:
How about gewoon "<prijs>$row[prijs]</prijs><naam>$row[naam]</naam>" outputten? Natuurlijk wel denken aan het root element, en eventjes een header meesturen voor je het print.
Gelieve dan wel je named arrays te quoten.

Verder kun je, als je database-veldnamen al correct zijn, met array_keys en wat simpele while-loopjes al heel gemakkelijk content outputten.

Afhankelijk van wat je wilt kun je dit met Expat doen, of met DOMXML, ook dit laatste zal niet zo moeilijk zijn.

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09-2025

djc

Op dinsdag 25 juni 2002 18:16 schreef ddc het volgende:
Gelieve dan wel je named arrays te quoten.
In de string is dat niet nodig, niet deprecated ook.

Rustacean


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:35
Manuzhai: In de string is dat niet nodig, niet deprecated ook.
Moet ik hier op ingaan? |:(

In een string moet je júist dit gebruiken, en omdat het slecht werkt, kun je dan beter je string als volgt doen:
code:
1
echo "blablabla".$row['blablabla']."blablabla";

Verwijderd

Kijk hier eens naar: http://phpxmlclasses.sourceforge.net/

Ik doe er precies mee wat jij wilt :)

edit: Oops, ik ben in het warretje met transformeren van de gegenereerde xml via xsl stylesheet.

Voor het opbouwen van xml gebruik ik een functie die ik ooit eens ergens vond. Deze functie is een wrappertje om de xml-functies van php. Set_element en dergelijk, zie http://www.php.net/xml
Pagina: 1