VB XML XSL et les parametres...
Salut a tous, j'ai un joli fichier en XML qui est compose de plusieurs elements de meme nature (mais a l'interieur on sait a priori pas ce qu'il y a )
Genre
<appli>
<el id=1>
<string>kk chose
</string>
</el>
<el id=2>
<string>autre chose
</string>
<integer>10
<integer>
</el>
</appli>
Par exemple...et a partir de VB, je voudrais lancer un fichier XSL qui en lui passant en parametre l'identite de ce qu'il doit m'afficher...
Quelqu'un a une suggestion?
Merci
. .
\_/
Genre
<appli>
<el id=1>
<string>kk chose
</string>
</el>
<el id=2>
<string>autre chose
</string>
<integer>10
<integer>
</el>
</appli>
Par exemple...et a partir de VB, je voudrais lancer un fichier XSL qui en lui passant en parametre l'identite de ce qu'il doit m'afficher...
Quelqu'un a une suggestion?
Merci
. .
\_/
1 réponse
-
Il faut générer une feuille XSL du genre :
<xsl:stylesheet xmlns:xsl=" http://www.w3.org/1999/XSL/Transform" version=" 1.0">"
<xsl:output method='text'/>
<xsl:template match="/">
<xsl:value-of select="/appli/el[id='...']/string"/>
</xsl:template>
</xsl:stylesheet>
et la passer ensuite sur le document XML de départ
(utiliser MSXML pour ça)
en supposant que monXML contienne le contenu du fichier xml et monXSL la feuille de style générée, il faut faire :
dim doc as DOMDocument30
Set doc = New DOMDocument30
doc.loadXML monXML
Dim xslSheet As MSXML2.DOMDocument30
Set xslSheet = New MSXML2.DOMDocument30
xslSheet.loadXML monXSL
res = doc.transformNode(xslSheet)
dans la variable res il doit y avoir le texte correspondant à tout le contenu du tag string du tag el désiré.-
-
@teeboJe ne pense pas qu'on puisse passer un paramètre au fichier XSL à l'exécution mais je peux me tromper. Et c'est pour ça que je 'génère' la chaine XSL à l'exécution (pas besoin de créer le fichier)
-
Contributeur@DuchMerci, je commence a avoir les idees plus clairs sur le probleme grace entre autre a toi ;-)))
En fait, je vais appliquer mon XSL seulement a mon node de DOM a partir de VB, ca a l'air possible...
Merci beaucoup!
. .
\_/
-