Wat is XML?
XML is de afkorting voor Extensible Markup Language.
XML wordt gebruikt om gegevens van het ene systeem naar het andere te structureren, op te slaan en te transporteren.
XML is vergelijkbaar met HTML.
Het maakt gebruik van openings- en sluitingstags.
In tegenstelling tot HTML kunnen gebruikers met XML hun eigen tags definiëren.
In deze tutorial leer je-
- Wat is DOM?
- XML-parsers
- Waarom XML gebruiken?
- XML-documentvoorbeeld
- XML lezen met PHP
- Hoe u een XML-document maakt met PHP
Wat is DOM?
DOM is de afkorting voor Document Object Model.
Het is een platformonafhankelijke en taalneutrale standaard die definieert hoe toegang tot en manipulatie van gegevens in;
- HTML
- XHTML
- XML
DOM XML wordt gebruikt om XML-documenten te openen en te manipuleren. Het beschouwt het XML-document als een boomstructuur.
XML-parsers
Een XML-parser is een programma dat het XML-document vertaalt naar een XML Document Object Model (DOM) -object.
Het XML DOM-object kan vervolgens worden gemanipuleerd met JavaScript, Python en PHP enz.
Het sleutelwoord CDATA, wat het acroniem is voor (Unparsed) Character Data, wordt gebruikt om speciale tekens zoals "<,>" te negeren bij het ontleden van een XML-document.
Waarom XML gebruiken?
- Webservices zoals SOAP en REST gebruiken het XML-formaat om informatie uit te wisselen. Als u leert wat XML is en hoe het werkt, krijgt u als ontwikkelaar concurrentievoordeel, aangezien moderne toepassingen veel gebruik maken van webservices.
- XML-documenten kunnen worden gebruikt om configuratie-instellingen van een applicatie op te slaan
- Hiermee kunt u uw eigen aangepaste tags maken, waardoor deze flexibeler wordt.
XML-document voorbeeld
Stel dat u een toepassing ontwikkelt die gegevens van een webservice in XML-indeling ophaalt.
Hieronder ziet u een voorbeeld van hoe het XML-document eruitziet.
Joe Paul CEO Tasha Smith Finance Manager
HIER,
- " Xml version =" 1.0 "encoding =" utf-8 "?>" Specificeert de te gebruiken XML-versie en codering
- "
" is het root-element. - "
… " zijn de onderliggende elementen van respectievelijk administratie en verkoop.
XML lezen met PHP
Laten we nu de code schrijven die het XML-document van de werknemers zal lezen en de resultaten in een webbrowser weergeven. Index.php
Employees Listing
';$list = $xml->record;for ($i = 0; $i < count($list); $i++) {echo 'Man no: ' . $list[$i]->attributes()->man_no . '
';echo 'Name: ' . $list[$i]->name . '
';echo 'Position: ' . $list[$i]->position . '
';}?>
HIER,
- "$ Xml = simplexml_load_file ('workers.xml');" gebruikt de functie simplexml_load_file om de bestandsnaam workers.xml te laden en de inhoud toe te wijzen aan de arrayvariabele $ xml.
- "$ List = $ xml-> record;" haalt de inhoud van het recordknooppunt op.
- "For ($ i = 0; $ i
- "$ List [$ i] -> attributes () -> man_no;" leest het kenmerk man_no van het element
- "$ Lijst [$ i] -> naam;" leest de waarde van het element name child
- "$ Lijst [$ i] -> positie;" leest de waarde van het onderliggende element position
Onze applicatie testen
Ervan uitgaande dat u het bestand index.php in de phptus / xml-map hebt opgeslagen, bladert u naar de URL http: //localhost/phptuts/xml/index.php
Hoe u een XML-document maakt met PHP
We zullen nu bekijken hoe u met PHP een XML-document kunt maken.
We zullen het bovenstaande voorbeeld gebruiken in het DOM-boomdiagram.
De volgende code gebruikt de ingebouwde PHP-klasse DOMDocument om een XML-document te maken.
encoding = 'utf-8';$dom->xmlVersion = '1.0';$dom->formatOutput = true;$xml_file_name = 'movies_list.xml';$root = $dom->createElement('Movies');$movie_node = $dom->createElement('movie');$attr_movie_id = new DOMAttr('movie_id', '5467');$movie_node->setAttributeNode($attr_movie_id);$child_node_title = $dom->createElement('Title', 'The Campaign');$movie_node->appendChild($child_node_title);$child_node_year = $dom->createElement('Year', 2012);$movie_node->appendChild($child_node_year);$child_node_genre = $dom->createElement('Genre', 'The Campaign');$movie_node->appendChild($child_node_genre);$child_node_ratings = $dom->createElement('Ratings', 6.2);$movie_node->appendChild($child_node_ratings);$root->appendChild($movie_node);$dom->appendChild($root);$dom->save($xml_file_name);echo "$xml_file_name has been successfully created";?>
HIER,
- "$ Dom = nieuwe DOMDocument ();" maakt een instantie van de DOMDocument-klasse.
- "$ Dom-> encoding = 'utf-8';" stelt de documentcodering in op utf-8
- "$ Dom-> xmlVersion = '1.0';" specificeert het versienummer 1.0
- "$ Dom-> formatOutput = true;" zorgt ervoor dat de uitvoer goed is opgemaakt
- "$ Root = $ dom-> createElement ('Movies');" maakt het hoofdknooppunt met de naam Movies aan
- "$ Attr_movie_id = nieuwe DOMAttr ('movie_id', '5467');" definieert het film-ID-kenmerk van het Movies-knooppunt
- "$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')" maakt het onderliggende knooppunt van het Movies-knooppunt. ElementName specificeert de naam van het element, bijv. Titel. ElementValue stelt de waarde van het onderliggende knooppunt in, bijvoorbeeld The Campaign.
- "$ Root-> appendChild ($ movie_node);" voegt de movie_node-elementen toe aan het hoofdknooppunt Movies
- "$ Dom-> appendChild ($ root);" voegt het hoofdknooppunt toe aan het XML-document.
- "$ Dom-> save ($ xml_file_name);" slaat het XML-bestand op in de hoofdmap van de webserver.
- "Echo ''. $ xml_file_name. ' is succesvol gemaakt'; " maakt de link naar het XML-bestand.
Onze applicatie testen
Ervan uitgaande dat u het bestand create_movies_list in de phptuts / xml-map hebt opgeslagen, bladert u naar de URL http: //localhost/phptuts/xml/create_movies_list.php
Klik op de link movies_list_xml
Overzicht
- XML is de afkorting voor Extensible Markup Language
- XML kan worden gebruikt voor het uitwisselen van informatie tussen systemen of het opslaan van configuratie-instellingen van een applicatie etc.
- DOM is de afkorting voor Document Object Model. XML DOM beschouwt het XML-document als een boomstructuur
- Een XML Parser is een programma dat XML naar een XML-document vertaalt naar een DOM-boomstructuurachtig document.
- CDATA wordt gebruikt om speciale tekens te negeren bij het ontleden van XML-documenten.
- PHP gebruikt de simplexml_load_file om XML-documenten te lezen en de resultaten als een numerieke array te retourneren
- PHP DOMDocument-klasse om XML-bestanden te maken.