Aktueller Standort: Startseite> Neueste Artikel> So verwenden Sie XML_PARSE und PDO, um XML -Daten in eine Datenbank zu analysieren

So verwenden Sie XML_PARSE und PDO, um XML -Daten in eine Datenbank zu analysieren

M66 2025-04-26

In modernen Webanwendungen müssen Entwickler die Diversität der Datenformate häufig verarbeiten. Wenn die XML -Daten in der Datenbank gespeichert sind, können wir die XML_PARSE -Funktions- und PDO -Datenbankvorgänge von PHP verwenden, um eine automatische Analyse und Verarbeitung zu erreichen. In diesem Artikel wird dieser Prozess ausführlich vorgestellt und Beispiele für Runnable -Code enthalten.

Schritt 1: Bereiten Sie XML -Daten in der Datenbank vor

Angenommen, wir haben eine MySQL -Datenbank mit einer Tabelle mit dem Namen xml_data , und die Struktur lautet wie folgt:

 CREATE TABLE xml_data (
    id INT AUTO_INCREMENT PRIMARY KEY,
    xml_content TEXT NOT NULL
);

Fügen wir als Beispiel eine XML -Daten ein:

 INSERT INTO xml_data (xml_content) VALUES 
('<book><title>PHP Programmierungspraxis</title><author>Zhang San</author><url>https://m66.net/books/php</url></book>');

Schritt 2: Verwenden Sie PDO, um XML -Daten aus der Datenbank zu lesen

 <?php
$dsn = 'mysql:host=localhost;dbname=test_db;charset=utf8mb4';
$username = 'db_user';
$password = 'db_pass';

try {
    $pdo = new PDO($dsn, $username, $password);
    
    $stmt = $pdo->query("SELECT xml_content FROM xml_data");
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        $xml = $row['xml_content'];
        parseXmlWithHandler($xml);
    }

} catch (PDOException $e) {
    echo "Die Datenbankverbindung ist fehlgeschlagen: " . $e->getMessage();
}
?>

Schritt 3: Verwenden Sie XML_Parse, um XML -Daten zu analysieren

XML_Parse von PHP ist ein ereignisorientierter Parser. Vor der Verwendung müssen Sie die Parsing -Funktion und den Prozessor definieren:

 function parseXmlWithHandler($xmlString) {
    $parser = xml_parser_create();

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

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

    xml_parser_free($parser);
}

function startElement($parser, $name, $attrs) {
    echo "<b>Start Tag:</b> $name<br>";
}

function endElement($parser, $name) {
    echo "<b>Ende Tag:</b> $name<br>";
}

function characterData($parser, $data) {
    $trimmed = trim($data);
    if ($trimmed !== '') {
        echo "<b>Inhalt:</b> $trimmed<br>";
    }
}

Schritt 4: Ausgabe von Probenergebnissen

Nach dem Ausführen des obigen Skripts ähnelt die Ausgabe:

 Start Tag:BOOK
Start Tag:TITLE
Inhalt:PHP Programmierungspraxis
Ende Tag:TITLE
Start Tag:AUTHOR
Inhalt:Zhang San
Ende Tag:AUTHOR
Start Tag:URL
Inhalt:https://m66.net/books/php
Ende Tag:URL
Ende Tag:BOOK