Ciao a tutti,
ho un problema con la lettura su file xml.
Il mio progetto prevede la costruzione di un sito di annunci, e stavo facendo il motore di ricerca, che prevede l'inserimento di Sesso, Età,Città .
Quando clicco su invia dovrebbe comparire la scritta elemento trovato oppure non trovato e poi stamparlo nella ListBox messa sotto.
Vi posto il codice e ringrazio anticipatemente per l'aiuto
public partial class Cerca : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
private ArrayList
cercaElemento(
XmlDocument doc, string Sesso, string Età, string Città)
{
ArrayList profili = new ArrayList();
//mi carico la root del dom
XmlElement root = doc.DocumentElement;
//prendo la lista degli elementi della root
XmlNodeList listanodi = root.GetElementsByTagName("Profili");
foreach (XmlNode nodoProfili in listanodi)
{
//cerco su tutti gli elementi tag
if (nodoProfili is System.Xml.XmlElement)
{
XmlElement elementoProfili = (XmlElement)nodoProfili;
string Sex = elementoProfili.GetAttribute("Sesso");
string Eta = elementoProfili.GetAttribute("Età");
string Citta = elementoProfili.GetAttribute("Città");
//controllo se l'elemento considerato ha l'id dato
if (Sex.Equals(Sesso) && Eta.Equals(Età) && Citta.Equals(Città))
{
profili.Add(elementoProfili);
}
}
}
return profili;
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text.Equals("") && TextBox2.Text.Equals("") && TextBox3.Text.Equals(""))
{
this.Label4.Text = "Ti sei dimenticato di completare i campi";
}
else
{
XmlDocument document = new XmlDocument();
document.Load(Server.MapPath(
"Profili.xml"));
ArrayList profili = cercaElemento(document, this.TextBox1.Text, this.TextBox2.Text, this.TextBox3.Text);
for (int c = 0; c < profili.Capacity; c++)
{
Qui non so bene come mettere e fare.
//if(profili
.Equals(""))
//this.Label4.Text = "Elemento trovato";
// this.ListBox1.Items.Add(""+profili.Count);
//this.ListBox1.Items.Add();
}
}
}
}