PHP5 verfügt über eine verbesserte XML-Unterstützung und nutzt DOM, um die XML-Betriebsmöglichkeiten zu erweitern. Diese Funktionen sind Teil des PHP5-Kerns und müssen zur Nutzung nicht installiert werden.
Das folgende Beispiel demonstriert einfach die Funktionsweise von DOM auf XML. Eine ausführliche Erklärung finden Sie in den Kommentaren im Code
> /************************************************
* * XML in PHP5 verwenden
** Referenzseite:
** http://cn.php.net/manual/zh/ref.dom.php
** Die folgenden Codes benötigen PHP5-Unterstützung
** www.knowsky.com
***************************************** **********/
//Erstellen Sie zuerst ein DOMDocument-Objekt
$dom = new DomDocument();
//Laden Sie dann die XML-Datei
$dom -> " );
//XML-Datei ausgeben
//header("Content-type: text/xml;charset=gb2312");
//echo $dom -> saveXML() ;
//Speichern Sie die XML-Datei, der Rückgabewert ist int (Dateigröße in Bytes)
//$dom -> echo "
Get all title elements:
";
$titles = $dom -> getElementsByTagName("title");
{
echo $node -> textContent . //Das funktioniert auch
//echo $node->firstChild->data .
";
}
/*
echo "
Alle Knoten vom Wurzelknoten aus durchlaufen:
";
foreach ($dom->documentElement->childNodes as $items) {
//Wenn der Knoten ein Element ist (nodeType == 1) und der Name ein Element ist, fahren Sie mit der Schleife fort
if ($items - >nodeType == 1 && $items->nodeName == "item") {
foreach ($items->childNodes as $titles) {
//Wenn der Knoten ein Element ist und der Name Wenn es sich um einen Titel handelt, drucken Sie ihn aus.
if ($titles->nodeType == 1 && $titles->nodeName == "title") {
print $titles->textContent . ;
}
}
}
}
*/
// XPath verwenden, um Daten abzufragen
echo "
Das Ergebnis des Titelknotens der Verwendung einer XPath-Abfrage :
";
$xpath = new domxpath($dom);
$titles = $xpath->query("/rss/channel/item/title") ;
foreach ($titles as $node)
{
echo $node->textContent."
"; und verwenden Sie getElementsByTagName(). Die Methoden sind ähnlich, aber Xpath ist viel leistungsfähiger
Ein genauerer Blick könnte so aussehen:
/rss/channel/item[position() = 1]/title Gibt das gesamte erste Element zurück element
/rss/channel/item/title[@id = '23'] Gibt alle Titel zurück, die das id-Attribut enthalten und der Wert 23 ist.
/rss/channel/&folder&/title Gibt alle Titel unter dem Artikelelement zurück (Anmerkung des Übersetzers: &folder& stellt die Verzeichnistiefe dar)
*/
Das Obige ist der Inhalt der Verwendung von DOM zur Steuerung von XML(1) in PHP5
Weitere verwandte Artikel finden Sie hier die chinesische PHP-Website (www.php.cn)!