Mysql verfügt über integrierte Funktionen zum Bearbeiten von XML. Dabei handelt es sich jeweils um die Funktionen ExtractValue() und UpdateXML().
Syntax:
EXTRACTVALUE (fiedname, XPathstring);
Der erste Parameter: fiedname ist im String-Format, das ist der Feldname in der Tabelle. Der zweite Parameter: XPathstring (String im Xpath-Format), wenn Sie Wenn Sie die Xpath-Syntax nicht verstehen, finden Sie Tutorials im Internet. Funktion: Geben Sie die Zeichenfolge zurück, die den abgefragten Wert aus dem Ziel-XML enthält.
UPDATEXML (fiedname, XPathstring, new_value); Der erste Parameter: fiedname ist im String-Format, der der Feldname in der Tabelle ist : XPathstring (Xpath-Formatzeichenfolge)
Der dritte Parameter: new_value, Zeichenfolgenformat, ersetzt die gefundenen qualifizierten Daten Funktion: Ändert den Wert des qualifizierten Knotens im Dokument
Verwandtes empfohlenes MySQL-Video-Tutorial : „MySQL-Tutorial“
1. Zuerst erstellen wir eine Testtabelle.
CREATE TABLE `testtable` ( `testxml` text ) ENGINE=InnoDB DEFAULT CHARSET=latin1
2. Fügen Sie dann einen Datensatz zur Testtabelle hinzu. Im XML-Format aufgezeichnet.
3 Wir verwenden zunächst die EXTRACTVALUE-Funktion, um den Inhalt des Knotens namens Zhang San herauszufinden. Sie können den Inhalt des Zhang San-Knotens sehen, den wir im Ausgabefeld unten sehen. Das XPath-Format ist wie folgt:
extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'
4 Jetzt haben wir den Abfrageklassenknoten Die Werte aller Namensknoten unten.
extractvalue(testxml,'/Student/Class/Name'
5. Als nächstes verwenden wir die Funktion updatexml, um den Knoteninhalt von XML zu ändern.
extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'), Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename') ,把zhangsan节点内容换为updatename。
6 Aus den obigen Ergebnissen können wir erkennen, dass die XML-Struktur einen Namensknoten weniger hat, nachdem wir updatexml verwendet haben . Wir müssen beim Ersetzen nur den aktualisierten Wert zum Knoten hinzufügen.
extractvalue(testxml,'/Student/Class/Name[self:text()="zhangsan"]'), Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','updatename ')
7. Verwenden Sie die Update-Anweisung, um den Datenbankinhalt zu aktualisieren.
UPDATE testtableSET testxml= Updatexml(testxml,'/Student/Class/Name[self:text()="zhangsan"]','<Name>updatename</Name>')
Notizen
Mit UpdateXml haben wir gerade den Inhalt des Suchfelds geändert Datenbank wird nicht aktualisiert. Wenn Sie die Datenbank aktualisieren müssen, müssen Sie sie mit der Update-Anweisung
aktualisieren
Das obige ist der detaillierte Inhalt vonXML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!