xml maken vanuit database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Renzo Massaro

Renzo Massaro

14/09/2010 22:02:35
Quote Anchor link
Hallo,

Hier heb ik een script die een meldinge geeft, zie hieronder:

Only one top level element is allowed in an XML document.

Nu weet ik niet waar dit inzit, iemand een idee?

Ook heb ik gelezen dat ik beter simplexml kan gebruiken, maar hoe kan ik dit wat ik nu heb dan gebruiken in simplexml? ik krijg het niet voor elkaar. Zie script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php

header("Content-type: text/xml");

$host = "localhost";
$user = "...";
$pass = "...";
$database = "...";

$linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host.");
mysql_select_db($database, $linkID) or die("Could not find database.");

$query = "SELECT field_volledig_value, field_tel_number, field_accountindex_value FROM content_type_telefoonboek ORDER BY field_volledig_value ASC";
$resultID = mysql_query($query, $linkID) or die("Data not found.");
for($x = 0 ; $x < mysql_num_rows($resultID) ; $x++){
$row = mysql_fetch_assoc($resultID);

$xml_output = "<?xml version="1.0" encoding="UTF-8" ?>\n";
$xml_output .= "<AastraIPPhoneDirectory>\n";
$xml_output .= "<MenuItem>\n";
$xml_output .= "<Prompt>" . $row['field_volledig_value'] . "</Prompt>\n";
$xml_output .= "<URI>" . $row['field_tel_number'] . "</URI>\n";
$xml_output .= "</MenuItem>\n";
$xml_output .= "</AastraIPPhoneDirectory>";
}


$fp = fopen('gs_phonebook.xml', 'wb');
fwrite($fp, $xml_output);
fclose($fp);

print($xml_output);
echo $xml_output;

?>
 
PHP hulp

PHP hulp

05/11/2024 11:38:27
 
- Ariën  -
Beheerder

- Ariën -

14/09/2010 22:15:02
Quote Anchor link
wat lukt er dan niet met simplexml?
 
Renzo Massaro

Renzo Massaro

14/09/2010 22:32:07
Quote Anchor link
ik kom er niet uit hoe ik daarin mijn database in verwerk...ik kan alleen een voorbeeld vinden zonder database, maar met database zie ik nergens terug..ik snap dan gewoon niet waar precies te beginnen met simplexml.
 
Niek s

niek s

14/09/2010 23:44:39
Quote Anchor link
Je hebt geen top level element. Alleen het gedeelte tussen de loop dat steeds herhaald.

Zet dus om die loop heen nog een top level element
 
Rob van Agteren

Rob van Agteren

16/09/2010 16:47:56
Quote Anchor link
Beste Renzo,
als ik er zo even snel doorheen kijk zie ik net zoals Niek al zij dat de opbouw van het xml bestand niet correct is.
zie hiervoor ook http://www.w3schools.com/xml/default.asp

"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?xml version="1.0" encoding="UTF-8" ?>
" moet niet in de loop komen, hiermee moet je b.v. beginnen of ergens later in het script bovenaan toevoegen.
Dan zal het beter werken.
 

16/09/2010 16:58:54
Quote Anchor link
Gebruik toch simplexml of dom.
Veel makkelijker én beter.
 
Noppes Homeland

Noppes Homeland

16/09/2010 18:00:50
 
Pieter Jansen

Pieter Jansen

16/09/2010 18:01:10
Quote Anchor link
Je moet een dom structuur aanbrengen in je xml document. Wat dat betekent is dat je voor elke rij een een eigen node maakt. VB:

<node>
<gegevens>
</gegevens>
</node>

Dat doe je voor elke rij, op die manier kun je die xml goed intepreteren. Enne, als je slim bezig wil zijn, gebruik inderdaad simplexml of een andere goede library. Scheelt je een hoop werk.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.