Maison > base de données > tutoriel mysql > Comment extraire les valeurs d'attribut des données XML à l'aide de requêtes SQL ?

Comment extraire les valeurs d'attribut des données XML à l'aide de requêtes SQL ?

Linda Hamilton
Libérer: 2024-12-20 15:55:13
original
765 Les gens l'ont consulté

How to Extract Attribute Values from XML Data using SQL Queries?

Récupération de valeurs d'attribut à partir de données XML dans SQL

Lorsque vous travaillez avec des données XML dans des bases de données SQL, il est souvent nécessaire d'extraire des valeurs d'attribut spécifiques. Par exemple, considérons le document XML suivant stocké dans une table :

<email>
  <account language="en" ... />
</email>
Copier après la connexion

Pour récupérer la valeur de l'attribut de langue, nous pouvons utiliser une expression XQuery dans la requête SQL. XQuery fournit un moyen puissant de parcourir et d'extraire des informations à partir de documents XML.

DECLARE @xml XML =
'<email>
  <account language="en" />
</email>'

SELECT @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')
Copier après la connexion

Cette requête utilise la fonction value() pour évaluer l'expression XQuery et renvoyer la valeur du nœud correspondant à l'expression XPath spécifiée. Dans ce cas, l'expression XPath (/email/account/@langue)[1] sélectionne la première valeur d'attribut de langue sous l'élément de compte dans le document XML.

Alternativement, si les données XML sont stockées dans un tableau comme indiqué :

CREATE TABLE @t (m XML)
INSERT INTO @t VALUES
    ('<email><account language="en" /></email>'),
    ('<email><account language="fr" /></email>')
Copier après la connexion

Nous pouvons récupérer les valeurs d'attribut à l'aide d'une sous-requête corrélée comme suit :

SELECT m.value('(/email/account/@language)[1]', 'nvarchar(max)')
FROM @t
Copier après la connexion

En utilisant ces techniques, nous pouvons récupérer efficacement les valeurs d'attribut des données XML dans nos requêtes SQL.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal