Heim  >  Artikel  >  Datenbank  >  XML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen

XML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen

黄舟
黄舟Original
2017-08-01 11:26:548351Durchsuche

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

XML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen

2. Fügen Sie dann einen Datensatz zur Testtabelle hinzu. Im XML-Format aufgezeichnet.

XML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen

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"]'

XML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen

4 Jetzt haben wir den Abfrageklassenknoten Die Werte aller Namensknoten unten.

 extractvalue(testxml,'/Student/Class/Name'

XML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen

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。

XML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen

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')

XML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen

7. Verwenden Sie die Update-Anweisung, um den Datenbankinhalt zu aktualisieren.

UPDATE testtableSET testxml=  Updatexml(testxml,&#39;/Student/Class/Name[self:text()="zhangsan"]&#39;,&#39;<Name>updatename</Name>&#39;)

XML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen

XML-Erfahrungsaustausch mit MySQL-Datenbankabfragevorgängen

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!

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