Jump to content

XML DOM


Recommended Posts

Geplaatst: (bewerkt)

Hallo, ik ben XML DOM nodig om variabelen die ik met mijn php bestand uit mijn mysql database heb gehaalt in mijn flash filmpje te zetten. Alleen ik heb geen idee hoe ik attributen in een element moet zetten, en krijg bij mijn variabele (news_main heet ie) ´. naam .´ enzovoort en ik wil alleen die naam hebben zeg maar, en geen punten en aanhalingstekens.

<?php  
$link = mysql_connect("hidden", "hidden", "hidden");
mysql_select_db("a1184034_Lord");

$query = 'SELECT news_main FROM news';
$results = mysql_query($query);

$doc = new DOMDocument();
$doc->formatOutput = true;
 $r = $doc->createElement( "employees" );
 $doc->appendChild( $r );   
 $employees = array();
while($line = mysql_fetch_array($results)) {

 $employees [] = array(
 'name' => "'. $line[news_main] .'"
 );
}




 foreach($employees as $employee )
 {
 $b = $doc->createElement( "employee" );

 $name = $doc->createElement( "name" );s
 $name->appendChild($doc->createTextNode( $employee['name']));
 $b->appendChild( $name );


 $r->appendChild( $b );
 }

 echo $doc->saveXML();
 $doc->save("write.xml")
 ?>

Wie kan me uit de brand helpen? Ik zit al dagenlang te broeden om dit voor elkaar te krijgen.

Vriendelijk bedankt,

Jeroen.

Bewerkt: door Ophion
Geplaatst:

Wat XML DOM precies is, weet ik niet, maar ik heb wel even je script door genomen.

'name' => "'. $line[news_main] .'"

Moet news_main niet tussen aanhalingstekens, dus zoals onderstaand?

'name' => "'. $line['news_main'] .'"

Verder lijkt me ook hier een typfout op het eind:

$name = $doc->createElement( "name" );s

En misschien na het onderstaande ook een puntkomma plaatsen, maar ik weet niet zeker of dat noodzakelijk is. Persoonlijk raad ik je het wel aan, dan laat namelijk wel zien dat die actie is afgelopen voordat PHP wordt afgesloten.

$doc->save("write.xml")

Geplaatst:

Vriendelijk bedankt voor uw hulp, alleen ik krijg nog steeds een error namelijk:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/a1184034/public_html/lol.php on line 17

, bij

'name' => "'. $line['news_main'] .'"

.

En die ´s´ op het eind was idd een typfout.

Groetjes Jeroen.

Geplaatst:

Die aanhalingstekens lijken er juist niet te moeten staan, want die leveren inderdaad je bovenstaande error op. Ik ben er in ieder geval nog naar aan te kijken of ik eruit kom. :)

Edit: Ik heb nu deze code waarmee ik geen fouten kreeg. Ik heb de code hier en daar wat aangepast om te testen, maar dat heb ik aangegeven. Volgens mij ligt het aan het feit dat je een kolom news_main noemt, terwijl je misschien beter geen speciale tekens kan gebruiken. Zelf had ik daar in het begin ook last van, maar aan elkaar zou het moeten lukken. Hopelijk brengt de code nu wat je wilt. :)

<?php  
/* CODE OPHION
	$link = mysql_connect("hidden", "hidden", "hidden");
	mysql_select_db("a1184034_Lord"); 
*/
		$server = "localhost"; 
		$user = "user"; 
		$password = ""; 
		$database = ""; 

		$connect = mysql_connect($server,$user,$password) 
			or die ("Er kon geen verbinding gemaakt worden met de server."); 
		mysql_select_db($database,$connect) 
			or die ("Er kon geen verbinding gemaakt worden met de database."); 

$query = "SELECT * FROM news "; // deze code is aangepast
$results = mysql_query($query) or die ( mysql_error( ) );

$doc = new DOMDocument();
$doc->formatOutput = true;
$r = $doc->createElement( "employees" );
$doc->appendChild( $r );  
$employees = array();

while($line = mysql_fetch_array($results)) {
	 $employees [] = array(
	  'name' => "" .$line['news_main']. ""
	  );
	}

 foreach($employees as $employee )
 {
 $b = $doc->createElement( "employee" );

 $name = $doc->createElement( "name" );
 $name->appendChild($doc->createTextNode( $employee['name']));
 $b->appendChild( $name );


 $r->appendChild( $b );
 }

 echo $doc->saveXML();
 $doc->save("write.xml");
 ?>

Geplaatst:

Het werkt! Bedankt, want anders had ik dit nooit geweten :Y

Weet iemand hoe ik met XML een attribuut toevoeg aan een element?

Groetjes,

Jeroen.

Geplaatst:

Heb die site al een paar keer bekeken, en zag zojuist een Tryit Editor staan, waarmee ik wat gedaan heb, en nu werkt het script perfect zoals ik wil!

Super bedankt beiden, want anders was ik hier nog een dikke week mee bezig geweest, en had het veel stress opgelevert :Y

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...