Heim >Backend-Entwicklung >PHP-Tutorial >Implementierungsmethode für das Parsen von XML durch PHP und das Generieren einer SQL-Anweisung

Implementierungsmethode für das Parsen von XML durch PHP und das Generieren einer SQL-Anweisung

小云云
小云云Original
2018-02-05 09:17:551847Durchsuche

Es gibt viele Möglichkeiten, XML in PHP zu analysieren. Viele davon können Sie einfach durch Suchen finden.

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. Dieser Artikel führt Sie hauptsächlich in die Methode zum Parsen von XML und zum Generieren von SQL-Anweisungen ein. Er beinhaltet die Betriebsfähigkeiten von PHP im Zusammenhang mit dem Lesen, Parsen und SQL-String-Splicing von XML-Formatdateien. Ich hoffe, er kann Ihnen helfen

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. Das Verlaufspfadattribut von XML Die Datei kann nicht geladen werden, wenn sie D:xx ist..., ändern Sie sie einfach in „/“ (das Trennzeichen unter Linux)

2. Holen Sie sich die Attribute eines Knotens, verwenden Sie ::attributes, und der Editor stoppt, sucht das halbtägige Dokument und verwendet schließlich ->getAttribute() (ich schätze, weil es zu seltsam ist, unterstützt es -> previousSibling und ->nodeValue). . Dem Dokument zufolge ist DOMElement::getAttribute direkt Es wurde ein Fehler gemeldet.

Das Folgende ist der Beispielcode:


<title>xml 转换为 sql</title>
<meta http-equiv=&#39;content-type&#39; content=&#39;text/html; charset=utf-8&#39; />
<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=&#39;tip_info&#39;>总共找到:<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.&#39;--&#39;.$name.&#39;--&#39;.$inf."</p>";
  $idx++;
  array_push($arr, "update dress_item t SET t.s_name=&#39;".$name."&#39;,t.s_intro=&#39;".$inf."&#39; 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 "生成完毕!";
?>

Da die Daten aus der Datenbanktabelle generiert werden, entspricht die Anzahl der gefundenen Knoten der Gesamtzahl der Datensätze in der Tabelle. 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.

Verwandte Empfehlungen:

Methode zum automatischen Generieren von SQL-Anweisungen

PHP-Funktion mit mehreren Schlüsselwörtern und mehreren Feldern zum Generieren von SQL-Anweisungen

PowerDesigner verknüpft Oracle, um SQL-Anweisungen zu generieren

Das obige ist der detaillierte Inhalt vonImplementierungsmethode für das Parsen von XML durch PHP und das Generieren einer SQL-Anweisung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn