


Explication détaillée des exemples de code pour le mode RAW de FOR XML
Description :
le mode brut convertit chaque ligne de l'ensemble de résultats de la requête en un élément XML avec le nom de l'élément
et convertit les colonnes de chaque ligne en attributs de ligne.
Une hiérarchie XML peut être générée en écrivant une requête FOR XML imbriquée
Par défaut, toutes les valeurs non nulles seront mappées en tant qu'attributs de l'élément
Syntaxe :🎜 >Si vous devez convertir les données de l'ensemble de résultats de la requête en éléments enfants de l'élément
, vous devez utiliser la directive elements
.
Pour plus de détails, voir l'exemple :FOR XML RAW [ ('ElementName') ] [ <CommonDirectives> [ , { XMLDATA | XMLSCHEMA [ ('TargetNameSpaceURI') ]} ] [ , ELEMENTS [ XSINIL | ABSENT ] ] <CommonDirectives> ::= [ , BINARY BASE64 ] [ , TYPE ] [ , ROOT [ ('RootName') ] ]
Insérez les données du tableau comme suit :A. Renvoyez les informations sur les données de la requête, utilisez le mode brut for XML
列名 数据类型 允许空 id int 允许 body nvarchar(50) 允许 Exemple :
id body 1 aaaa 2 bbbb 3 cccc 4
pour définir le résultat. apparaissent sous forme de sous-éléments en spécifiant la directive ELEMENTS./* 结果: <row id="1" body="aaaa" /> <row id="2" body="bbbb" /> <row id="3" body="dddd" /> <row id="4" /> */select * from base for xml raw;Copier après la connexion
Nous avons remarqué que le corps d'identifiant 4 n'est pas affiché dans cet exemple de phrase
/* 结果: <row> <id>1</id> <body>aaaa</body> </row> <row> <id>2</id> <body>bbbb</body> </row> <row> <id>3</id> <body>dddd</body> </row> <row> <id>4</id> </row> */select * from base for xml raw,elements;Copier après la connexion
<🎜. >La raison est que lors de l'utilisation de la commande elements, si la commande suivante n'est pas spécifiée, la valeur par défaut est Using abscent, aucun élément ne sera créé pour les valeurs nulles pour le moment Dans l'exemple de phrase suivant, les valeurs nulles peuvent être affichées en XML en utilisant les éléments xsinil B. Spécifiez la directive elements en même temps et les instructions xsinil pour produire des éléments avec des valeurs de colonne nulles <🎜. > Chaque élément de données est affiché avec un élémentC. l'élément, ce qui met les gens mal à l'aise. Comment modifier
Le nom de l'élément est un autre nom.
/* 结果: <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id>1</id> <body>aaaa</body> </row> <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id>2</id> <body>bbbb</body> </row> <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id>3</id> <body>dddd</body> </row> <row xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id>4</id> <body xsi:nil="true" /> </row> */select * from base for xml raw,elements xsinil;Copier après la connexion
Nous savons tous que chaque fichier XML a un élément racine, comment ajouter son élément racine à ce texte XML<🎜. >D. Pour spécifier l'élément racine du XML généré par for XML,/* 结果: <baseinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id>1</id> <body>aaaa</body> </baseinfo> <baseinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id>2</id> <body>bbbb</body> </baseinfo> <baseinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id>3</id> <body>dddd</body> </baseinfo> <baseinfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <id>4</id> <body xsi:nil="true" /> </baseinfo> */select * from base for xml raw('baseinfo'),elements xsinil;Copier après la connexion
peut être spécifié à l'aide de la commande root. L'élément racine par défaut est<🎜. >
À l'heure actuelle, le résultat XML généré semble être très bon, mais si nous voulons changer la colonne body de la base de données en XML Comment modifier l'élément le nom de l'élément/* 结果: <base xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <baseinfo> <id>1</id> <body>aaaa</body> </baseinfo> <baseinfo> <id>2</id> <body>bbbb</body> </baseinfo> <baseinfo> <id>3</id> <body>dddd</body> </baseinfo> <baseinfo> <id>4</id> <body xsi:nil="true" /> </baseinfo> </base> */select * from base for xml raw('baseinfo'),root('base'),elements xsinil;Copier après la connexion
Le résultat actuel est fondamentalement conforme au format de base d'un xml , alors, nous imaginons que si nous ne spécifions pas les noms de colonnes pour id et body, ni ne spécifions noms d'éléments racine, ni spécifier les noms d'éléments, quels inconvénients se produiront ?Depuis, il semble qu'il n'y ait pas de nom de colonne Les avantages qu'elle nous apporte. modifié un peu plusMais, pour ce qui précède. En conséquence, nous semblons incapables de distinguer chaque élément de données et la valeur nulle avec l'identifiant. 4 ne s'affiche pas. Comment le modifier ? Voir la phrase suivante
/* 结果: <base xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <baseinfo> <id>1</id> <data>aaaa</data> </baseinfo> <baseinfo> <id>2</id> <data>bbbb</data> </baseinfo> <baseinfo> <id>3</id> <data>dddd</data> </baseinfo> <baseinfo> <id>4</id> <data xsi:nil="true" /> </baseinfo> </base> */select id,body data from base for xml raw('baseinfo'),root('base'),elements xsinil;Copier après la connexion
<🎜. >/* 结果: 1aaaa2bbbb3dddd4 */ --因为id为int类型,为使id不出现列名,我们使id+0 --因为body为nvarchar类型,为使body不出现列名,我们使body+''select id+0,body+'' from base for xml raw(''), elements;Copier après la connexionModifions-le encore pour que le résultat apparaisse d'une autre manière/* 结果: 1,aaaa;2,bbbb;3,dddd;4,null; */select id+0,',',isnull(body,'null')+'',';' from base for xml raw(''),elements;Copier après la connexion
Vous pouvez maintenant voir que nous pouvons combiner selon nos besoins pour générer les résultats dont nous avons besoinDans SQLServer2005, les données XML sont déjà prises en charge, vous pouvez donc écrire l'instruction TYPE pour renvoyer le type. résultats de la requête FOR XML dans le type de données xml :/* 结果: 1,aaaa;2,bbbb;3,dddd;4,null; */select convert(nvarchar,id)+','+isnull(body,'null')+';' from base for xml raw(''),elements;Copier après la connexion
Enfin, un exemple courant est utilisé pour introduire l'application brute du modèle/* 结果: {1,aaaa}{2,bbbb}{3,dddd}{4,null} */select '{'+convert(nvarchar,id)+','+isnull(body,'null')+'}' from base for xml raw(''),elements;Copier après la connexion
.Créez la table student student, la structure de la table est la suivante :
Insérez les données de la table comme suit :declare @string nvarchar(1000)declare @xml xml/* 消息257,级别16,状态3,第8行 不允许从数据类型xml到nvarchar的隐式转换。请使用CONVERT函数来运行此查询。 */ --set @string=(select id,body from base for xml raw,type)set @xml=(select id,body from base for xml raw,type)Copier après la connexion
建课程表sclass,表结构如下:
列名 数据类型 允许空 cid int 允许 name nvarchar(50) 允许 插入表数据如下:
id name 1 语文 2 数学 3 英语
建student_class表,表结构如下:
列名 数据类型 允许空 sid int cid int 插入数据如下:
cid sid 1 1 1 2 1 3 2 1 3 2 3 3
至此,数据结果是:
姓名 课程 张三 语文 张三 数学 张三 英语 李四 语文 王五 数学 王五 英语
我们需要最后的结果形式如下:
姓名 课程 张三 语文,数学,英语 李四 语文 王五 数学,英语
该如何实现呢?
/* 结果: 张三 语文,数学,英语 李四 语文 王五 数学,英语 */select [name], stuff( ( select ','+[name] from sclass where cid in ( select cid from student_class where student.sid=student_class.sid ) for xml raw(''),elements ), 1,1,'') sclassfrom studentCopier après la connexionCe 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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Kernelsecuritycheckfailure (échec de la vérification du noyau) est un type de code d'arrêt relativement courant. Cependant, quelle qu'en soit la raison, l'erreur d'écran bleu rend de nombreux utilisateurs très angoissés. Laissez ce site présenter soigneusement 17 types de solutions aux utilisateurs. 17 solutions à l'écran bleu kernel_security_check_failure Méthode 1 : Supprimer tous les périphériques externes Lorsqu'un périphérique externe que vous utilisez est incompatible avec votre version de Windows, l'erreur d'écran bleu Kernelsecuritycheckfailure peut se produire. Pour ce faire, vous devez débrancher tous les périphériques externes avant d'essayer de redémarrer votre ordinateur.

Les fichiers XML peuvent-ils être ouverts avec PPT ? XML, Extensible Markup Language (Extensible Markup Language), est un langage de balisage universel largement utilisé dans l'échange et le stockage de données. Comparé au HTML, XML est plus flexible et peut définir ses propres balises et structures de données, rendant le stockage et l'échange de données plus pratiques et unifiés. PPT, ou PowerPoint, est un logiciel développé par Microsoft pour créer des présentations. Il fournit un moyen complet de

Utilisation de Python pour fusionner et dédupliquer des données XML XML (eXtensibleMarkupLanguage) est un langage de balisage utilisé pour stocker et transmettre des données. Lors du traitement de données XML, nous devons parfois fusionner plusieurs fichiers XML en un seul ou supprimer les données en double. Cet article explique comment utiliser Python pour implémenter la fusion et la déduplication de données XML, et donne des exemples de code correspondants. 1. Fusion de données XML Lorsque nous avons plusieurs fichiers XML, nous devons les fusionner

Implémentation du filtrage et du tri des données XML à l'aide de Python Introduction : XML est un format d'échange de données couramment utilisé qui stocke les données sous forme de balises et d'attributs. Lors du traitement de données XML, nous devons souvent filtrer et trier les données. Python fournit de nombreux outils et bibliothèques utiles pour traiter les données XML. Cet article explique comment utiliser Python pour filtrer et trier les données XML. Lecture du fichier XML Avant de commencer, nous devons lire le fichier XML. Python possède de nombreuses bibliothèques de traitement XML,

Convertir des données XML en Python au format CSV XML (ExtensibleMarkupLanguage) est un langage de balisage extensible couramment utilisé pour le stockage et la transmission de données. CSV (CommaSeparatedValues) est un format de fichier texte délimité par des virgules couramment utilisé pour l'importation et l'exportation de données. Lors du traitement des données, il est parfois nécessaire de convertir les données XML au format CSV pour faciliter l'analyse et le traitement. Python est un puissant

Importation de données XML dans la base de données à l'aide de PHP Introduction : Pendant le développement, nous devons souvent importer des données externes dans la base de données pour un traitement et une analyse ultérieurs. En tant que format d'échange de données couramment utilisé, XML est souvent utilisé pour stocker et transmettre des données structurées. Cet article explique comment utiliser PHP pour importer des données XML dans une base de données. Étape 1 : analyser le fichier XML Tout d'abord, nous devons analyser le fichier XML et extraire les données requises. PHP propose plusieurs façons d'analyser XML, la plus couramment utilisée étant l'utilisation de Simple

Python implémente la conversion entre XML et JSON Introduction : Dans le processus de développement quotidien, nous devons souvent convertir des données entre différents formats. XML et JSON sont des formats d'échange de données courants. En Python, nous pouvons utiliser diverses bibliothèques pour réaliser une conversion mutuelle entre XML et JSON. Cet article présentera plusieurs méthodes couramment utilisées, avec des exemples de code. 1. Pour convertir XML en JSON en Python, nous pouvons utiliser le module xml.etree.ElementTree

Gestion des erreurs et des exceptions dans XML à l'aide de Python XML est un format de données couramment utilisé pour stocker et représenter des données structurées. Lorsque nous utilisons Python pour traiter XML, nous pouvons parfois rencontrer des erreurs et des exceptions. Dans cet article, je vais vous présenter comment utiliser Python pour gérer les erreurs et les exceptions dans XML, et fournir un exemple de code pour référence. Utilisez l'instruction try-sauf pour détecter les erreurs d'analyse XML Lorsque nous utilisons Python pour analyser XML, nous pouvons parfois rencontrer des
