Inhoudsopgave
Voordat we ingaan op het technische deel van het maken van deze documenten, moeten we eerst begrijpen wat een bestand is. XML, en wat zijn de echte en huidige toepassingen ervan, op deze manier zullen we veel meer de kennis kunnen waarderen die we in deze sectie kunnen opdoen.Wat is een XML-bestand?Velen van jullie weten vast al dat het een bestand is XMLVoor degenen die het echter niet kennen of het is de eerste keer dat ze deze term zien, gaan we het concept een beetje uitleggen. XML is een opmaaktaal en tagging die erg lijkt op HTML waarmee we de inhoud in een document kunnen ordenen. Het bestaat uit labels en entiteiten en we moeten verschillende regels volgen bij het genereren ervan.
Je zult zeker denken dat ik de beschrijf HTML ook, en waarom we de laatste niet gebruiken in plaats van een nieuwe taal te creëren, simpelweg omdat de XML het is strenger en meer aanpasbaar, daarom is het veel flexibeler in gebruik en gemakkelijker te begrijpen. De etiketten op HTML zijn al gedefinieerd in uw standaard, in plaats daarvan a XML labels worden door ons gemaakt volgens de regels van de taal.
Aan het begin van de tutorial noemden we een van de bekendste toepassingen van de XML en het is om de inhoud zo te organiseren dat deze door de applicaties kan worden geconsumeerd, dit is wat in wezen nodig is. Bij het ordenen van een document XML we kunnen doen wat a . wordt genoemd ontleden, wat niets meer is dan het lezen van het bestand en als het de standaard volgt, kunnen we weten wat de structuur is en dus de inhoud in ons programma verwerken.
In een echte context, de XML kan worden gebruikt om gegevens te verzenden via een webservice of om gegevens te herstellen en te importeren in a Database. Zoals we kunnen zien, is het een draagbaarheidsformaat, dat wil zeggen om gegevens van het ene platform naar het andere te vervoeren. Het werkt ook binnen hetzelfde platform, bijvoorbeeld een configuratiebestand waarbij elk label overeenkomt met parameters die onze applicatie leest om adequaat gedrag te genereren.
Hoewel in de afgelopen jaren het formaat JSON heeft veel populariteit gewonnen in webomgevingen, en is aantoonbaar aan populariteit gewonnen in de loop van de XML, in werkelijkheid is het niet zo, aangezien elk zijn ruimte heeft, het voordeel van JSON is dat het inheems is Javascript en met de nieuwe manieren van werken met deze taal is conversie praktisch niet nodig.
Maar in andere omgevingen zoals desktop-applicaties, andere servertalen dan Javascript en toepassingen die al lang op de markt zijn, XML het is een geldige en veelgebruikte optie.
Zoals altijd hangt alles af van onze behoeften, we kunnen zeggen dat geen van beide JSON geen van beide XML ze zijn slecht, elk heeft gewoon zijn reikwijdte en doel, dus als we willen gebruiken XML en iemand vertelt ons dat we achterhaald zijn, weet gewoon dat het voor onze behoeften volkomen geldig is.
Zoals we al een bestand hebben uitgelegd XML Het bestaat uit tags, maar om correct te worden geïnterpreteerd, moet het een kop hebben en dan beginnen met de inhoud. De kop staat bekend als DTD of Definitie documenttype, wat kan worden vertaald als typedefinitie van het document en dan is de inhoud de schema of schema in het Spaans.
Wat doet de DTD?De DTD is degene die de informatie aan de parser over wat voor soort XML is en binnen de schema Het is waar de inhoud die we voor ons document hebben gemaakt, naartoe zal gaan.
In de volgende afbeelding zullen we zien hoe een testdocument dat we in onze applicatie-ontwikkelomgeving hebben eruit ziet:

We kunnen dit eenvoudig corrigeren met a koptekst en het veranderen van de Mime type door tekst / xml dit zal de tolk maken PHP beschouw de kop van onze inhoud niet langer als een fout XML die we genereren. Laten we hieronder de code bekijken die we gaan gebruiken om ons kleine voorbeeld te maken:
"Fight Club", 'author' => "Chuck Palahniuk"), array ('title' => "World War Z", 'author' => "Max Brooks",)); foreach ($ boeken als $ boek) {echo "\ n"; echo "{$ boek ['titel']} \ n"; echo "{$ boek ['auteur']} \ n"; echo "\ n \ n"; }?> var13 -> We zien hier hoe we eerst de kop van het document genereren met de koptekst, hierdoor kunnen we de starttag van onze . plaatsen XML zonder syntaxisfouten op te heffen in PHP, dan plaatsen we buiten de code onze root-tag van de schema, in dit geval bibliotheek.
Vervolgens maken we een kleine array met verschillende elementen die we boeken hebben genoemd, het belangrijkste hier, ook al is het iets handmatigs, is dat we kunnen zien dat we dit kunnen doen met een resultaat van Database bijvoorbeeld. Ten slotte nemen we onze reeks door en drukken we af, waarbij we altijd de labels respecteren, zodat onze XML goed gevormd is.
Wanneer we dit uiteindelijk op onze testserver uitvoeren, krijgen we zoiets als het volgende in de browser:
VERGROTEN
In het volgende voorbeeld gaan we een bestand nemen XML dat is in onze directory, om dingen gemakkelijker te maken, kunnen we het document opslaan dat in het vorige voorbeeld is gegenereerd en we zullen het noemen php_crear_xml.xml, rekening houdend met het feit dat we door het wijzigen van de extensie PHP niet langer kunnen gebruiken om de kop af te drukken, een gemakkelijke manier om de XML vol is om op te drukken CTRL + u en we zullen hetzelfde hebben. Zodra we ons testbestand hebben, gaan we de volgende code gebruiken om de ontleden uit het bestand.
laden ("voorbeeld1.xml"); proces ($ parser-> documentElement); functieproces ($ node) {foreach ($ node-> childNodes als $ child) {if ($ child-> nodeType == XML_TEXT_NODE) {echo "
". $ kind-> nodeValue."
";} else if ($ kind-> nodeType == XML_ELEMENT_NODE) {process ($ kind);}}}?> var13 ->In de code zien we dat we een object van het type hebben gemaakt DOMDocument, dit brengt ons de boekhandel ZON kunnen interpreteren XML, dan met de methode laden () we laden het bestand XML die we in onze route hebben en dan noemen we de functie Verwerken() dit is degene waarmee we door het geladen document kunnen gaan.
Ten slotte definiëren we onze functie, hier gaan we door elk knooppunt en dan maken we een voorwaarde als het een element is XML We noemen de functie, anders als het tekst is, drukken we hem af, hiermee kunnen we de inhoud van de verkrijgen XML Geen probleem.
Het enige defect van deze methode en deze bibliotheek is de hoeveelheid geheugen die nodig is op de server, dus als het een groot bestand zou zijn XML het zou erg moeilijk zijn voor onze server om het te verwerken.

Het interessante van deze bibliotheek is dat een object wordt gemaakt met onze XML waarmee we direct toegang hebben tot hun eigendommen en dus met hen kunnen werken. Laten we in de volgende code kijken hoe we toegang kunnen krijgen tot de labels kwalificatie van elk boek dat we in onze . hebben XML van testen.
boek als $ boek) {echo $ boek-> titel. "
";}?> var13 ->Hoewel de code er misschien wat kort uitziet, maken we een object van het geladen bestand en kunnen we herhalen met a foreach elk van zijn knooppunten en krijgt zo op een eenvoudige manier toegang tot de inhoud van zijn label. Waarmee we het volgende in de browser zouden verkrijgen:









