XML

Structuur

XML declaration

Ieder XML-bestand begint met een declaratie, in de meest minimale vorm ziet deze er alsvolgt uit:

1
2
<?xml version="1.0"?>
</xml>

De standaard encoding voor XML is UTF-8, deze hoef je niet apart op te geven. Wil je een andere declaratie gebruiken, zul je dit als attribuut moeten opgeven:

1
2
<?xml version="1.0" encoding="ISO-8859-1"?>
</xml>

Zonder geldige declaratie is er géén sprake van XML. Wanneer je met PHP een stuk XML wilt aanmaken, gebruik dan PHP om dit te doen, dan gaat het vanzelf goed.

Root element

Child element

Attributen

Boomstructuur

PHP

XML is eenvoudig aan te maken met PHP, hier kun je o.a. DOM en SimpleXML voor gebruiken:

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
<?php
// aanmaken XML:
$xml = new DOMDocument();
$xml->formatOutput = true; // wel zo overzichtelijk

// de basis
$root = $xml->createElement('root');
$xml->appendChild($root);

$parent = $xml->createElement('parent');
$root->appendChild($parent);

for ($i = 1; $i < 4; $i++)
{
    // toevoegen child
    $child = $xml->createElement('child', 'Nummer '.$i);
    $parent->appendChild($child);
    
    // attribuut toevoegen aan child
    $attr = $xml->createAttribute('id');
    $child->appendChild($attr);

    // attribuut van de gewenste waarde voorzien
    $text = $xml->createTextNode($i);
    $attr->appendChild($text);
}

// en zie het resultaat
header('content-type: text/xml');
echo $xml->saveXML();
?>

Resultaat:

1
2
3
4
5
6
7
8
9
<?xml version="1.0"?>
<root>
  <parent>
    <child id="1">Nummer 1</child>
    <child id="2">Nummer 2</child>
    <child id="3">Nummer 3</child>
  </parent>
</root>
</xml>
Onderwerpen die hier onder vallen: Overkoepelende artikelen:
Inloggen wachtwoord vergeten? Aanmelden