Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Selezionare n nodi (XML)
mercoledì 19 luglio 2006 - 16.53
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
mer 19 lug 2006 - 16:53
ciao a tutti ho un file xml strutturato cosi:
<?xml version="1.0" standalone="yes"?>
<articoli>
<articolo>
<idarticolo>31</idarticolo>
<descrizione>Bla</descrizione>
<hits>1</hits>
<voto>1</voto>
</articolo>
...
</articoli>
vorrei estrarre n nodi che contengano gli hits + alti (tipo select top ..... in SQL)
come mi consigliate di procedere??
Un ringraziamento in anticipo!
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
mer 19 lug 2006 - 18:26
Ciao Coach e grazie come sempre per la risposta.
avevo pensato anche io a un array il problema è che potrebbero esserci centinaia di nodi....
stavo pensando invece di fare una cosa del genere:
Dim myDataSet As DataSet = New DataSet
Dim i As Integer
Dim drow As DataRow
myDataSet.Tables.Add("Table")
myDataSet.Tables("Table").Columns.Add("Top5")
myDataSet.Tables("Table").Columns("Top5").DataType = GetType(Int32)
myDataSet.Tables("Table").Columns("Top5").AutoIncrement = True
myDataSet.Tables("Table").Columns("Top5").AutoIncrementSeed = 0
myDataSet.Tables("Table").Columns("Top5").AutoIncrementStep = 1
myDataSet.Tables("Table").Columns.Add("idarticolo")
myDataSet.Tables("Table").Columns("idarticolo").DataType = GetType(String)
myDataSet.Tables("Table").Columns.Add("descrizione")
myDataSet.Tables("Table").Columns("descrizione").DataType = GetType(Double)
myDataSet.Tables("Table").Columns.Add("hits")
myDataSet.Tables("Table").Columns("hits").DataType = GetType(Double)
myDataSet.ReadXml(Server.MapPath("/xml/rate.xml"))
ora dovrei caricare l'xml ed a quel punto con un dataview applicare dei filtri ma non riesco a caricare l'xml....
Ti piace l'idea?
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
mer 19 lug 2006 - 20:23
ho fatto così
Dim myDataSet As DataSet = New DataSet
Dim drow As DataRow
myDataSet.Tables.Add("articoli")
'aggiungo una colonna contatore
myDataSet.Tables("articoli").Columns.Add("Top5")
myDataSet.Tables("articoli").Columns("Top5").DataType = GetType(Int32)
myDataSet.Tables("articoli").Columns("Top5").AutoIncrement = True
myDataSet.Tables("articoli").Columns("Top5").AutoIncrementSeed = 1
myDataSet.Tables("articoli").Columns("Top5").AutoIncrementStep = 1
myDataSet.Tables("articoli").Columns.Add("idarticolo")
myDataSet.Tables("articoli").Columns("idarticolo").DataType = GetType(Integer)
myDataSet.Tables("articoli").Columns.Add("descrizione")
myDataSet.Tables("articoli").Columns("descrizione").DataType = GetType(String)
myDataSet.Tables("articoli").Columns.Add("hits")
myDataSet.Tables("articoli").Columns("hits").DataType = GetType(Integer)
myDataSet.Tables("articoli").Columns.Add("voto")
myDataSet.Tables("articoli").Columns("voto").DataType = GetType(Integer)
myDataSet.ReadXml(Server.MapPath("/xml/rate.xml"))
dg.DataSource = myDataSet
dg.DataBind()
ma mi restituisce solo il primo nodo....
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
gio 20 lug 2006 - 17:31
Ciao, scusa per il ritardo....
ho provato come mi hai detto :
Dim myDataSet As DataSet = New DataSet
Dim drow As DataRow
myDataSet.Tables.Add("articoli")
myDataSet.Tables("articoli").Columns.Add("idarticolo")
myDataSet.Tables("articoli").Columns("idarticolo").DataType = GetType(Integer)
myDataSet.Tables("articoli").Columns.Add("descrizione")
myDataSet.Tables("articoli").Columns("descrizione").DataType = GetType(String)
myDataSet.Tables("articoli").Columns.Add("hits")
myDataSet.Tables("articoli").Columns("hits").DataType = GetType(Integer)
myDataSet.Tables("articoli").Columns.Add("voto")
myDataSet.Tables("articoli").Columns("voto").DataType = GetType(Integer)
myDataSet.ReadXml(Server.MapPath("/xml/rate.xml"))
myDataSet.Tables("articoli").Columns.Add("Top5")
myDataSet.Tables("articoli").Columns("Top5").DataType = GetType(Int32) **
myDataSet.Tables("articoli").Columns("Top5").AutoIncrement = True
myDataSet.Tables("articoli").Columns("Top5").AutoIncrementSeed = 0
myDataSet.Tables("articoli").Columns("Top5").AutoIncrementStep = 1
ma mi genera 1 errore "Impossibile modificare il DataType di una colonna contenente dati" in questo punto**
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
gio 20 lug 2006 - 17:58
io avrei anche 1 altra idea... te la cavi con xslt??
tyson69
Profilo
| Newbie
26
messaggi | Data Invio:
ven 21 lug 2006 - 08:41
...non ho capito la risposta....
cmq ho messo giù un po di codice, e manco a dirlo....non funziona....
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:apply-templates select="articoli/articolo[position()<=3]">
<xsl:sort select="voto" order="ascending"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="/">
<html>
<body>
<table>
<tr>
<th>Descrizione</th>
<th>Voto</th>
</tr>
<xsl:for-each select="articoli/articolo">
<tr>
<td><xsl:value-of select="descrizione"/></td>
<td><xsl:value-of select="voto"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !