PHP:
XML:n käsittely

Kuinka:

XML:n lukeminen SimpleXML:n avulla:

$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
              <note>
                <to>Tove</to>
                <from>Jani</from>
                <heading>Muistutus</heading>
                <body>Älä unohda tätä</body>
              </note>';
              
$xml = simplexml_load_string($xmlString);

echo $xml->to;       // Tulostaa: Tove
echo $xml->from;     // Tulostaa: Jani
echo $xml->heading;  // Tulostaa: Muistutus
echo $xml->body;     // Tulostaa: Älä unohda tätä

XML:n kirjoittaminen DOMDocumentilla:

$dom = new DOMDocument('1.0', 'UTF-8');

$root = $dom->createElement('note');
$dom->appendChild($root);

$to = $dom->createElement('to', 'Tove');
$from = $dom->createElement('from', 'Jani');
$heading = $dom->createElement('heading', 'Muistutus');
$body = $dom->createElement('body', 'Älä unohda tätä');

$root->appendChild($to);
$root->appendChild($from);
$root->appendChild($heading);
$root->appendChild($body);

echo $dom->saveXML();

Esimerkkituloste:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Muistutus</heading>
  <body>Älä unohda tätä</body>
</note>

Syväsukellus

XML eli eXtensible Markup Language on ollut tietojen sarjallistamisen peruspilari sen jälkeen, kun se sai W3C:n suosituksen vuonna 1998. Se on monisanainen, ihmisen luettavissa ja tiukka syntaksiltaan, mikä tekee siitä luotettavan valinnan konfiguraatiotiedostoille, tiedonvaihdolle ja muulle. Kuitenkin, se on osittain jäänyt JSON:n varjoon web API:ien osalta sen yksinkertaisuuden ja kevytrakenteisuuden vuoksi.

Ohjelmoijat valitsevat usein XML:n, kun he tarvitsevat dokumenttivalidaatiota, jota XML Schemat tarjoavat, tai kun työskentelevät ekosysteemeissä, jotka jo suurelta osin nojaavat siihen (kuten Microsoft Officen tiedostomuodot). XML:n käsittely PHP:ssä on suoraviivaista SimpleXML-laajennoksen avulla perustoiminnoille. Monimutkaisempia manipulaatioita varten DOMDocument tarjoaa vankan ominaisuuskokonaisuuden, joka mahdollistaa suuremman kontrollin, kuten nimiavaruuskäsittelyn ja skeemavalidaation.

Katso Myös