Informatie opslaan
Je kan de aangepaste informatie van de vorige pagina ook weer terugstoppen in ons bestand. Beide methodes uitgelegt. Vergeet niet dat je bestandje een CHMOD van 777 moet hebben.
Methode 1:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$xml = $users->asXML();
$filestr = "<?php\n";
$filestr .= "\$xml_users = <<<EOF\n";
$filestr .= $xml.'\n';
$filestr .= 'EOF;\n';
$filestr .= '?>';
file_put_contents('users.php', $filestr);
?>
$xml = $users->asXML();
$filestr = "<?php\n";
$filestr .= "\$xml_users = <<<EOF\n";
$filestr .= $xml.'\n';
$filestr .= 'EOF;\n';
$filestr .= '?>';
file_put_contents('users.php', $filestr);
?>
Methode 2:
$user->asXML(); slaat op de asXML() functie die het bestand weer terug compileerd naar XML 1.0 en file_put_contents() is natuurlijk de PHP 5 functie waarmee we ons zooitje in een bestand gooien. :)
Conclusie
Ik heb nu de basis van SimpleXML behandelt. Je weet nu hoe je een bestand moet openen en informatie in een object moet stoppen, je weet nu hoe je die informatie kan gebruiken, aanpassen, en weer terug opslaan. Ik hoop dat je er wat aan gehad hebt! Maar er zijn nog een aantal functie die ik niet (uitgebreid) behandeld hebt, maar ik zal de functie en gebruik ervan even kort opschrijven:
SimpleXMLelement->asXML( [bestandsnaam] );
Compileerd SimpleXMLelement naar XML 1.0 data. Als bestandsnaam is gegeven schrijft deze functie de data gelijk naar een bestand toe, en anders, met de bestandsnaam parameter dus niet gegeven, geef asXML() een string terug met de XML data. Als er iets fout gaat geeft deze functie FALSE terug.
SimpleXMLelement->attributes ( );
Geeft een SimpleXMLelement terug met de attributen van de SimpleXMLelement die gegeven is.
Code (php)
Dit output:
name="one"
game="lonely"
SimpleXMLelement->children( );
Geeft de children van een member. Voorbeeld:
Code (php)
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
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
<?php
$xml = simplexml_load_string(
'<person>
<child role="son">
<child role="daughter"/>
</child>
<child role="daughter">
<child role="son">
<child role="son"/>
</child>
</child>
</person>');
foreach ($xml->children() as $second_gen) {
echo ' The person begot a ' . $second_gen['role'];
foreach ($second_gen->children() as $third_gen) {
echo ' who begot a ' . $third_gen['role'] . ';';
foreach ($third_gen->children() as $fourth_gen) {
echo ' and that ' . $third_gen['role'] .
' begot a ' . $fourth_gen['role'];
}
}
}
?>
$xml = simplexml_load_string(
'<person>
<child role="son">
<child role="daughter"/>
</child>
<child role="daughter">
<child role="son">
<child role="son"/>
</child>
</child>
</person>');
foreach ($xml->children() as $second_gen) {
echo ' The person begot a ' . $second_gen['role'];
foreach ($second_gen->children() as $third_gen) {
echo ' who begot a ' . $third_gen['role'] . ';';
foreach ($third_gen->children() as $fourth_gen) {
echo ' and that ' . $third_gen['role'] .
' begot a ' . $fourth_gen['role'];
}
}
}
?>
The person begot a son who begot a daughter; The person
begot a daughter who begot a son; and that son begot a son
SimpleXMLelement->xpath( path );
Voert een Xpath query uit op Xpath 'path'. Geeft een array met SimpleXMLelementen terug.
simplexml_import_dom ( DOMNode node )
Verkrijgt een SimpleXMLelement uit de DOMNode node. Bij falen geeft deze functie false terug.