Dieses Mal werde ich Ihnen eine detaillierte Erklärung der Schritte zum Parsen von XML und zum Generieren von SQL-Anweisungen in PHP geben. Was sind die Vorsichtsmaßnahmen für PHP zum Parsen von XML und zum Generieren von SQL-Anweisungen? Fall, werfen wir einen Blick darauf.
Es gibt viele Möglichkeiten, XML in PHP zu analysieren, und es gibt viele davon in der Dokumentation. Suchen Sie einfach danach.
Heute bin ich auf eine Anforderung gestoßen: Knotenattribute aus einer bestimmten XML-Datei extrahieren und dann ein Feld in einer Tabelle in der Datenbank aktualisieren.
Idee:
Parsen Sie das XML und rufen Sie alle Knotenattribute ab –> Schleifen Sie die Knotensammlung ab und rufen Sie die entsprechenden Attribute ab –> es in einem Array –> Konvertieren Sie das Array in eine Zeichenfolge und speichern Sie es in einer Datei
Xpath wird hier beim Schreiben des Codes festgestellt:
1. Der historische Pfad der XML-Datei kann nicht geladen werden, wenn das Attribut D:xx ist..., ändern Sie es einfach in „/“ (das Trennzeichen unter Linux)
2. Holen Sie sich die Attribute eines Knotens, verwenden Sie ::attributes, und der Editor stoppt die rote Eingabeaufforderung, findet das halbtägige Dokument und verwendet schließlich ->getAttribute() (ich schätze, weil es zu seltsam ist, unterstützt es -> previousSibling und ->nodeValue). Folgen Sie dem DOMElement::getAttribute direkt im Dokument. Es wurde ein Fehler gemeldet.
Das Folgende ist der Beispielcode:
<title>xml 转换为 sql</title> <meta http-equiv='content-type' content='text/html; charset=utf-8' /> <style type="text/css"> .tip_info {margin-bottom:10px;} .tip_info span {color:#f00;} </style> <?php $xml = "D:/res/dressConfig.xml"; $doc = new DOMDocument(); $doc->load($xml); $xpath = new DOMXPath($doc); $query = "//i"; $entries = $xpath->query($query); $len = $entries->length; echo "<p class='tip_info'>总共找到:<span>".$len."</span>个节点</p>"; $arr = array(); $idx = 0; while ($idx < $len) { $nodeItem = $entries->item($idx); $id = $nodeItem->getAttribute("i"); $name = $nodeItem->getAttribute("n"); $inf = $nodeItem->getAttribute("inf"); // echo "<p>".$id.'--'.$name.'--'.$inf."</p>"; $idx++; array_push($arr, "update dress_item t SET t.s_name='".$name."',t.s_intro='".$inf."' WHERE t.n_doid=".$id.";"); } $dir = "d:/sql/"; if (!is_dir($dir)) { mkdir($dir); } file_put_contents("d:/sql/dress_item.sql", implode("\n\r", $arr)); echo "生成完毕!"; ?>
Weil die Daten generiert werden Aus der Datenbanktabelle ergibt sich, dass die Anzahl der gefundenen Knoten die Gesamtzahl der Datensätze in der Tabelle ist. Nach der Generierung können Sie prüfen, ob der Inhalt korrekt ist, und dann das SQL-Skript ausführen, um den Zweck zu erreichen.
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Empfohlene Lektüre:
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte für PHP zum Parsen von XML und zum Generieren von SQL-Anweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!