Maison >base de données >tutoriel mysql >Comment récupérer les valeurs d'attribut XML à l'aide de SQL : XQuery vs XPath ?

Comment récupérer les valeurs d'attribut XML à l'aide de SQL : XQuery vs XPath ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-20 17:40:15507parcourir

How to Retrieve XML Attribute Values Using SQL: XQuery vs. XPath?

Récupération de la valeur d'un attribut à partir de XML : techniques SQL

En SQL, la récupération de la valeur d'un attribut à partir de données XML peut être réalisée par diverses méthodes . Examinons comment extraire la valeur de l'attribut de langage du XML fourni :

<email>
  <account language="en" ... />
</email>

Approche XQuery :

Le langage XQuery permet une extraction facile des valeurs d'attribut XML. La requête suivante le démontre :

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

select @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')

Cette requête accède directement à l'attribut de langage à l'aide de la syntaxe XQuery.

Approche du chemin XML (XPath) :

XPath peut également être utilisé pour parcourir les structures XML et récupérer les valeurs d'attribut. Un exemple de requête utilisant XPath est :

declare @t table (m xml)

insert @t values 
    ('<email><account language="en" /></email>'), 
    ('<email><account language="fr" /></email>')

select m.value('(/email/account/@language)[1]', 'nvarchar(max)')
from @t

L'expression XPath identifie l'élément de compte et récupère la valeur de l'attribut de langage.

XQuery et XPath fournissent tous deux des mécanismes puissants pour extraire des informations à partir de données XML. L'approche appropriée dépend de la structure des données spécifique et des résultats souhaités. En utilisant ces techniques, vous pouvez accéder et traiter efficacement les données XML dans vos 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!

Déclaration:
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