Bonjour à tous
Je dois générer un fichier xml à partir d'une simple requête select.
Savez vous ou je peux trouver un exemple d'utilisation du package DBMS_XMLQUERY .
Merci d'avance
Bonjour à tous
Je dois générer un fichier xml à partir d'une simple requête select.
Savez vous ou je peux trouver un exemple d'utilisation du package DBMS_XMLQUERY .
Merci d'avance
Bonjour,
Pour la doc, je n'ai qu'une seule référence à te donner c'est le bouquin Oracle 9i sous Windows de G.briard, où il y a tout un chapitre sur XML.
Il y a bien sur aussi la doc official d'oracle.
exemple de réponse à ta question
@
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT XMLELEMENT(NAME "CLIENT", XMLATTRIBUTES(C.CLIENTID AS ID), XMLELEMENT(NAME "NOM",C.NOM), XMLELEMENT(NAME "PRENOM",C.PRENOM)) FROM CLIENT C;
PpPool
Voici un post où il y a un exemple d'utilisation de dbms_xmlquery :
http://www.developpez.net/forums/vie...t=dbmsxmlquery
Un problème sans solution est un problème mal posé
Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
J'ai retrouvé çà aussi dans quelques tests que j'avais réalisé (si cela peut t'aider)
@
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95 --PL/sql dom API --PL/sql xml parser --PL/sql xslt Processor --Création d'un document DOM avec XMLtype declare document DBMS_XMLDOM.DOMDocument; buffer VARCHAR2(30000); begin document:=DBMS_XMLDOM.newDOMDocument(sys.XMLTYPE('<personne><nom>LENGLET</nom><prenom>Thierry</prenom></personne>')); DBMS_XMLDOM.writeToBuffer(document,buffer); DBMS_OUTPUT.PUT_LINE(buffer); end; --Création d'un noeud d'élément à partir d'un document vide declare document DBMS_XMLDOM.DOMDocument; element Dbms_XmlDOM.DOMElement; noeud DBMS_XMLDOM.DOMNode; begin document:=DBMS_XMLDOM.newDOMDocument; element:=DBMS_XMLDOM.createElement(document,'MON ELEMENT'); noeud:=DBMS_XMLDOM.makeNode(element); DBMS_OUTPUT.PUT_LINE(DBMS_XMLDOM.getNodeName(noeud)); DBMS_OUTPUT.PUT_LINE(DBMS_XMLDOM.getNodeValue(noeud))); end; --PLSQL xml parser pour XMLType --traitement d'un document XML avec le XMLPARSER plsql DECLARE document VARCHAR2(2000); documentDOM DBMS_XMLDOM.DOMDocument; noeud DBMS_XMLDOM.DOMNode; monParser DBMS_XMLPARSER.Parser; begin document:='personne><nom>LENGLET</nom><prenom>Thierry</prenom></personne>'; monParser:=DBMS_XMLPARSER.newParser; DBMS_XMLPARSER.parseBuffer(monParser,document); documentDOM:=DBMS_XMLPARSER.getDocument(monParser); noeud:=DBMS_XMLDOM.makeNode(documentDOM); end; --PL/sql xslt processor pour xmltype declare document VARCHAR2(2000); xsldocument VARCHAR2(2000); monParser DBMS_XMLPARSER.Parser; documentDOM DBMS_XMLDOM.DOMDocument; documentDOMxslt DBMS_XMLDOM.DOMDocument; xsl DBMS_XSLPROCESSOR.Stylesheet; documentDOMFragment DBMS_XMLDOM.DOMDocumentFragment; noeud DBMS_XMLDOM.DOMNode; processeur DBMS_XSLPROCESSOR.Processor; buffer VARCHAR2(2000); begin document:='<Employe> <Nom>SAMMARCO</Nom> <Prenom>Thierry</Prenom> <Salaire>1200</Salaire> <Emploi>Consultant</Emploi> </Employe>'; xsldocument:='<?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output encoding="UTF-8"/> <xsl:template match="*"> <xsl:copy> <xsl:apply-templates select="*|text()"> <xsl:sort select="name(.)" data-type="text" order="ascending" /> </xsl:apply-templates> </xsl:copy> </xsl:template> <xsl:template match="text()"> <xsl:value-of select="normalize-space()"/> </xsl:template> </xsl:stylesheet>'; monParser:=DBMS_XMLPARSER.newParser; DBMS_XMLPARSER.parseBuffer(monParser,document); documentDOM:=DBMS_XMLPARSER.getDocument(monParser); DBMS_XMLPARSER.parseBuffer(monParser,xsldocument); documentDOMxslt:=DBMS_XMLPARSER.getDocument(monParser); xsl:=DBMS_XSLPROCESSOR.newStylesheet(documentDOMxslt, ''); processeur:=DBMS_XSLPROCESSOR.newProcessor; --Application de la feuille de style documentDOMFragment:=DBMS_XSLPROCESSOR.processXSL(processeur,xsl,documentDOM); noeud:=DBMS_XMLDOM.makeNode(documentDOMFragment); --l'API DOM pour XMLType peut être utilisée ici DBMS_XMLDOM.writeToBuffer(noeud,buffer); DBMS_OUTPUT.PUT_LINE(buffer); end;
PpPool
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager