Aktueller Standort: Startseite> Neueste Artikel> So analysieren Sie XML -Daten über XML_PARSE und DOMXML -Funktionsbibliothek

So analysieren Sie XML -Daten über XML_PARSE und DOMXML -Funktionsbibliothek

M66 2025-05-12

In der modernen Webanwendungsentwicklung ist XML (Extensible Markup -Sprache) eines der Datenaustauschformate und wird in vielen Szenarien immer noch häufig verwendet. PHP bietet eine Vielzahl von Funktionsbibliotheken für die Verarbeitung von XML, darunter XML_PARSE und DOMXML zwei gemeinsame Parsingmethoden, die jeweils für unterschiedliche Anforderungen geeignet sind. In diesem Artikel wird diese beiden Methoden separat vorgestellt und praktische Code -Beispiele bereitgestellt, mit denen Sie die Parsingfähigkeiten von XML -Daten effizient beherrschen können.

1. Verwenden Sie XML_Parse für ereignisbasierte Parsen

XML_PARSE ist eine XML-Parser-Funktion in PHP und gehört zu einer ereignisbasierten Parsingmethode (auch als SAX-Parsing bezeichnet). Es löst eine bestimmte Rückruffunktion beim Lesen von XML -Daten aus, die zum Umgang mit großen XML -Dateien geeignet sind, da das gesamte Dokument nicht in den Speicher geladen werden muss.

Beispielcode:

 <?php
$xml_data = <<<XML
<books>
    <book>
        <title>PHP Programmierungspraxis</title>
        <author>Zhang San</author>
    </book>
    <book>
        <title>XML Und Web Aufschlag</title>
        <author>Li Si</author>
    </book>
</books>
XML;

$parser = xml_parser_create("UTF-8");

function startElement($parser, $name, $attrs) {
    echo "Element starten:$name\n";
}

function endElement($parser, $name) {
    echo "Endelement:$name\n";
}

function characterData($parser, $data) {
    $data = trim($data);
    if (!empty($data)) {
        echo "Daten:$data\n";
    }
}

xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "characterData");

if (!xml_parse($parser, $xml_data, true)) {
    die("XML Parsing -Fehler:" . xml_error_string(xml_get_error_code($parser)));
}

xml_parser_free($parser);
?>

Ausgangsergebnis:

 Element starten:BOOKS
Element starten:BOOK
Element starten:TITLE
Daten:PHP Programmierungspraxis
Endelement:TITLE
Element starten:AUTHOR
Daten:Zhang San
Endelement:AUTHOR
Endelement:BOOK
Element starten:BOOK
Element starten:TITLE
Daten:XML Und Web Aufschlag
Endelement:TITLE
Element starten:AUTHOR
Daten:Li Si
Endelement:AUTHOR
Endelement:BOOK
Endelement:BOOKS

Vorteile und anwendbare Szenarien

  • Vorteile : Schnelle Parsengeschwindigkeit und geringe Speicherverwendung.

  • Anwendbare Szenarien : Große XML -Dateien müssen nur gelesen werden, ohne den XML -Inhalt zu ändern.

2. Verwenden Sie DOMXML , um eine Analyse basierend auf dem DOMM -Modell (DOMR -Objektmodell) durchzuführen.

DOMXML bietet eine strukturiertere XML -Verarbeitungsmethode, mit der Sie XML -Daten wie HTML DOM manipulieren können, indem Sie das gesamte XML -Dokument in einen DOM -Baum laden.

HINWEIS : Seit PHP5 wurde DOMXML durch DOM -Erweiterungen (d. H. Domdocument -Klasse) ersetzt, und dieser Artikel nimmt das letztere Beispiel an.

Beispielcode:

 <?php
$xml_string = <<<XML
<books>
    <book>
        <title>PHP Programmierungspraxis</title>
        <author>Zhang San</author>
        <link>https://www.m66.net/book/php</link>
    </book>
    <book>
        <title>XML Und Web Aufschlag</title>
        <author>Li Si</author>
        <link>https://www.m66.net/book/xml</link>
    </book>
</books>
XML;

$doc = new DOMDocument();
$doc->loadXML($xml_string);

$books = $doc->getElementsByTagName("book");

foreach ($books as $book) {
    $title = $book->getElementsByTagName("title")->item(0)->nodeValue;
    $author = $book->getElementsByTagName("author")->item(0)->nodeValue;
    $link = $book->getElementsByTagName("link")->item(0)->nodeValue;

    echo "Buchtitel:$title\n";
    echo "Autor:$author\n";
    echo "Link:$link\n\n";
}
?>

Ausgangsergebnis:

 Buchtitel:PHP Programmierungspraxis
Autor:Zhang San
Link:https://www.m66.net/book/php

Buchtitel:XML Und Web Aufschlag
Autor:Li Si
Link:https://www.m66.net/book/xml

Vorteile und anwendbare Szenarien

  • Vorteile : Klare Struktur und einfach zu bedienen, geeignet zum Lesen, Ändern und Generieren von XML.

  • Anwendbare Szenarien : Kleine bis mittelgroße XML-Dateien, Strukturänderungen oder neue Dokumente müssen erstellt werden.