20 messaggi dal 01 febbraio 2005
Salve a tutti ho creato un file xml che viene generato da un dataset il quale preleva i dati dal db:


SqlDataAdapter ad_pagine;
DataSet ds_pagine;
SqlDataAdapter ad_pagine;
ad_pagine=new SqlDataAdapter("select menu from PAGINA",conn);
ds_pagine=new DataSet();
ad_pagine.Fill(ds_pagine);
ds_pagine.WriteXml("NOME.xml");


Effettivamente viene generato il file.xml:

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<Table>
<menu>id="1" title="Profilo personale" href="profilo.aspx" target="main" img="../img/profilo.ICO" evento="apriprofilo"</menu>
</Table>
</NewDataSet>

A questo punto nel file aspx ho creato un label il problema e' fargli leggere quel file .xml e soprattutto fargli caricare solo:

id="1" title="Profilo personale" href="profilo.aspx" target="main" img="../img/profilo.ICO" evento="apriprofilo"

Dimenticavo il mio e' un menu' inoltre penso che anche l'xml generato non sia corretto perche dopo menu ci dovrebbe essere <
2.198 messaggi dal 30 novembre 2001
per fargli generare solo quello con id=1 basta che metti questa condizione nella select.
20 messaggi dal 01 febbraio 2005
Il problema non e' l'id=1 bensi tutto quello che c'e' prima di menu.
A me serve che generi nell'xml solo la voce menu con tutti
i suoi attibuti
es:
<menu id="1" title="Profilo personale" href="profilo.aspx" target="main" img="../img/profilo.ICO" evento="apriprofilo"/>

<menu id="2" title="Richiedi Permesso" href="permessi.aspx" target="main" img="../img/richiedi.ICO"/>
.
.
.
.
2.198 messaggi dal 30 novembre 2001
allora in questo caso non puoi utilizzare il metodo writexml dell'oggetto dataset, ma devi crearti tu l'xml leggendo i dati dalla tabella.
20 messaggi dal 01 febbraio 2005
E' proprio quello che ho fatto infatti nel mio primo post c'e' .....writexml("nome")
ma non va cosi' inoltre dovrei fargli scrivere solo un nodo non tutta la gerarchia ma chiaramente non so come fare aiutatemi voi !!!!!
2.198 messaggi dal 30 novembre 2001
come ti dicevo prima devi crearti tu il file xml con i dati che ti servono usando XmlTextWriter.
20 messaggi dal 01 febbraio 2005
Mi dispiace ma continuo a non capirti magari se provi a modificarmi la parte interessata!!!
Visto che ci siamo ti posto la classe che ho creato per leggere un file xml con un solo nodo e il punto in cui la utilizzo:


using System;
using System.Xml;
using System.Web;

namespace evolvit.pag.classi
{
/// <summary>
/// Descrizione di riepilogo per Class1.
/// </summary>
public class creamenu
{
XmlDocument xmldoc = new XmlDocument();
XmlNode node;
int attrCount;


//questo metodo richiama il metodo successivo aprixml che non fa nient altro che
//aprire il file xml

private void caricaxml(string file)
{
try
{
xmldoc.Load(file);
}
catch (XmlException ex)
{
ex.ToString();
}
}

public creamenu(string file)
{
caricaxml(file);
}

public int NumAttr()
{
attrCount= xmldoc.ChildNodes[1].ChildNodes.Count;
return attrCount;
}

public string leggixml(int i, string NAttr)
{
node = xmldoc.DocumentElement;
node = node.ChildNodes[i];
string strtitle= "";
strtitle = node.Attributes[NAttr].Value;
return strtitle;
}

}
}


la parte interessata invece e':

private void Button2_Click(object sender, System.EventArgse)
{
creamenu sinistra = new creamenu(Server.MapPath("menu.xml"));
lbltop.Text="<table width=\"70%\" border=\"0\" cellpadding=\"6\" cellspacing=\"0\">"+"<tr><td width=\"100%\" noWrap></td>";
for (int i = 0; i < sinistra.NumAttr(); i++)
{
lbltop.Text += "<td align=\"left\"><img src=\"" + sinistra.leggixml(i,"img")+"\"></td> <td align=\"left\" noWrap><a href=\"" + sinistra.leggixml(i, "href") + "\"+ target=\"" +sinistra.leggixml(i,"target")+"\">"+ sinistra.leggixml(i, "title") +"</a></td>";
}
lbltop.Text += "</tr></table>";
}
2.198 messaggi dal 30 novembre 2001
allora forse non avevo capito io, il tuo problema quindi è che dato un file xml con i nodi che contengono le voci del menu, quando vai a leggerlo ti visualizza solo il menu con id=1?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.