Ho utilizzato l'esempio di Microsoft su http://msdn2.microsoft.com/en-us/library/ms766561.aspx
per utilizzare un file .XSL con la funzione transformNodeToObject per
filtrare un file .XML.
es.
<?xml version="1.0"?>
<COLLECTION dateCreated="01-04-2000">
<BOOK>
<TITLE>Splish Splash</TITLE>
<AUTHOR>Paula Thurman</AUTHOR>
<PUBLISHER>Scootney</PUBLISHER>
<PRICE>250</PRICE>
</BOOK>
<BOOK>
<TITLE Editore="Hoepli">Lover Birds2</TITLE>
<AUTHOR>Cynthia Randall</AUTHOR>
<PUBLISHER>Lucerne Publishing</PUBLISHER>
<PRICE>200</PRICE>
</BOOK>
<BOOK>
<TITLE>The Sundered Grail</TITLE>
<AUTHOR>Eva Corets</AUTHOR>
<PUBLISHER>Lucerne Publishing</PUBLISHER>
<PRICE>100</PRICE>
</BOOK>
</COLLECTION>
file .xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/
Transform">
<xsl:template match="/">
<LowPriceBooks>
<xsl:for-each select="//COLLECTION/BOOK[not(PRICE >'220')]">
<xsl:copy>
<xsl:apply-templates select="*"/>
</xsl:copy>
</xsl:for-each>
</LowPriceBooks>
</xsl:template>
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
la parte essenziale in VB
' Parse results into a result DOM Document.
Source.transformNodeToObject stylesheet, result
dove Source e' il file .XML non filtrato e stylesheet il file .xsl da
tutto ciò si ottiene result
che è un buffer contenente il sorgente filtrato con i nodi aventi
PRICE > 220
Premesso che non mi intendo molto di XML,
l'unico problema che si verifica dopo il filtraggio è che nella riga
<TITLE Editore="Hoepli">Lover Birds2</TITLE>
si perde la propieta' Editore=="Hoepli"
come posso modificare il file .xsl per fare in modo che si copi anche
le propieta' dei nodi
che soddisfano il criterio di ricerca ?
Spero che qualcuno mi possa aiutare
mtugnoli