wDOM::parseString

Erstellt ein DOM-Objekt auf Basis einer XML-Zeichenkette

Funktionsaufruf

DOMDocument parseString(String xmlString)

Parameter

xmlString
XML-Zeichenkette

Beispiel: Auslesen der Elternkategorie einer Kategorie

Quelltext

<?php

require_once $_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php';

$xmlString = '
<root>
<element>
<area>Textinhalt</area>
</element>
</root>
'
;


// DOM-Objekt erzeugen
$domObject = wDOM::parseString($xmlString);

// Inhalt von $domObject ausgeben
print '<h2>Inhalt von $domObject</h2>';
print
'Für Beispiel-Ausgabe auskommentiert!';
//var_dump($domObject);

// output:
// object(DOMDocument)[1]
// public '_a9d50a' => boolean false

// XPath Query erstellen
$query = '/root/element/area/text()';

// XPath-Query ausführen
$result = wDOM::getValueOf($domObject,$query);

// output:
// Textinhalt
print "<h2>Inhalt des angesprochenen Knoten:</h2>";
print
$result;

?>

Ergebnis

Inhalt von $domObject

Für Beispiel-Ausgabe auskommentiert!

Inhalt des angesprochenen Knoten:

Textinhalt

Beispiel: Auslesen der Elternkategorie einer Kategorie

Quelltext

<?php

require_once $_SERVER['DOCUMENT_ROOT'].'/weblication/grid.php';

$xmlString = file_get_contents($_SERVER['DOCUMENT_ROOT'].'/devGlobal/wGlobal/content/categories/standard.wCategories.php');
$domObject = wDOM::parseString($xmlString);

$kat = '1237389520705';

$parentKat = wDOM::getValueOf($domObject, "//category[child::category/@id='".$kat."']/@id");

print
$parentKat;

?>

Ergebnis

6515915641

Hinweise

Aus den Beispielen wird ersichtlich, dass es zwar kein Fehler ist, ein var_dump() auf ein DOM-Objekt zu machen, aber nicht wirklich Sinn macht. Den Inhalt des DOM-Objektes sollte man zuvor über z.B. saveXML() umwandeln, um die Baumstruktur des XML-Dokumentes zu bekommen.

Hinweis
Beim Einsatz von Framework-Funktionen in eigenen Skripten beachten Sie bitte den Artikel "So verwenden Sie das PHP-Framework in eigenen Scripten".
Wenn Sie eine Funktion innerhalb einer Weblication® Seite z.B. über das PHP-Quelltext Element oder in einem XSL-Template über wsl:php einbinden, muss das Framework über die grid.php nicht mehr referenziert werden.