XML und PHP
als Präsentation ▻In PHP gibt es mehrere Libraries zur Verarbeitung von XML. In der offiziellen Doku sind unter XML Manipulation 13 verschiedene angeführt. Wir werden 2 davon näher betrachten.
▻DOM
Php Code XML verarbeiten in PHP mit dem DOM
$doc = DOMDocument::loadXML('<set><node>gleich</node><node>vorher</node></set>');
$node = $doc->getElementsByTagName('node')->item(1);
$node->removeChild($node->firstChild);
$newText = new DOMText('nachher');
$node->appendChild($newText);
header( "Content-Type: application/xml; charset=utf-8" );
echo $doc->saveXML();
SimpleXML
SimpleXML lädt das XML direkt als PHP Datenstruktur: Aus einer Node wird ein PHP Objekt, aus mehreren Kindern einer Node wird ein Array, aus Attributen werden Eigenschaften.
Diese Datenstruktur erlaubt das Auslesen und das Manipulieren von XML:
Php Code XML verarbeiten in PHP mit SimpleXML
$doc = new SimpleXMLElement('<set><node>gleich</node><node>vorher</node></set>');
$doc->node[1] = "nachher";
header( "Content-Type: application/xml; charset=utf-8" );
echo $doc->asXML();
XML laden
Viele Webseiten bieten XML als “Webservice” an. Zum Beispiel kann man bei der Wikipedia API Teile von Wikipedia-Einträgen, Bilder, Meta-Informationen abfragen:
Php Code XML laden von der Wikipedia
$title = "Wiesen-Labkraut";
$parameters = array(
"action" => "query",
"titles" => urlencode( $title ),
"prop" => "extracts",
"exintro" => 1
);
$url = "http://de.wikipedia.org/w/api.php?" . http_build_query( $parameters ) . "&format=xml";
$xml_string = file_get_contents($url);
if( $xml_string === false ) {
echo("could not load $url");
die();
}
$xml_doc = new SimpleXMLElement($xml_string);
Kapitel
- Das Web Und Html
- Css
- Css Layout
- Urls
- Formulare
- Javascript Dom
- Jquery
- Kommandozeile
- Git
- Http
- Php Vorbereitung
- Php
- Php Db Lesen
- Session
- Php Db Schreiben
- Php Db Optimierung
- Grafik
- Javascript
- Applied Jquery And Css
- Json
- Xml
- Security
- Injection
- Authentifizierung und Session-Management
- Cross Site Scripting (XSS)
- Unsichere direkte Objektreferenzen
- Sicherheitsrelevante Fehlkonfiguration
- Verlust der Vertraulichkeit sensibler Daten
- Fehlerhafte Autorisierung auf Anwendungsebene
- Cross-Site Request Forgery (CSRF)
- Nutzung von Komponenten mit bekannten Schwachstellen
- Ungeprüfte Um- und Weiterleitungen
- Wordpress
- Apache
- Advanced Javascript
- Qualitaet
