private void CargarDatos() { try { // Determino el camino completo de la ubicacion del archivo XML para ABM string _camino = Server.MapPath(ConfigurationManager.AppSettings["XmlAutos"]); // Leo info del archivo.......... DataSet _Ds = new DataSet(); _Ds.ReadXml(_camino); // Cargo la informacion de los autos GVAutos.DataSource = _Ds; GVAutos.DataBind(); // Cargo datos duenio _Ds.ReadXml(Server.MapPath("~/XML/Duenios.xml"), XmlReadMode.InferSchema); ddlDuenio.DataSource = _Ds.Tables["Duenio"]; ddlDuenio.DataTextField = "Nombre"; ddlDuenio.DataValueField = "Cedula"; ddlDuenio.DataBind(); ddlDuenio2.DataSource = _Ds.Tables["Duenio"]; ddlDuenio2.DataTextField = "Nombre"; ddlDuenio2.DataValueField = "Cedula"; ddlDuenio2.DataBind(); } catch (Exception ex) { LblError.Text = ex.Message; } }
protected void btBuscar_Click(object sender, EventArgs e) { // Limpio el resultado anterior GVAutos.DataSource = null; GVAutos.DataBind(); LblError.Text = ""; XElement _doc = XElement.Load(Server.MapPath("~/XML/Autos.xml")); XElement _doc2 = XElement.Load(Server.MapPath("~/XML/Duenios.xml")); var _resultado = (from unNodo in _doc.Elements("Auto") select unNodo).ToList(); if (txtMatricula2.Text != "") { _resultado = (from unNodo in _resultado where (string)unNodo.Element("Matricula") == txtMatricula2.Text select unNodo).ToList(); } if (txtMarca2.Text != "") { _resultado = (from unNodo in _resultado where (string)unNodo.Element("Marca") == txtMarca2.Text select unNodo).ToList(); } if (txtModelo2.Text != "") { _resultado = (from unNodo in _resultado where (string)unNodo.Element("Modelo") == txtModelo2.Text select unNodo).ToList(); } if (ddlDuenio2.SelectedValue != "") { _resultado = (from unNodo in _resultado join otroNodo in _doc2.Elements("Duenio") on(string) unNodo.Element("Duenio") equals(string) otroNodo.Element("Cedula") where (string)otroNodo.Element("Nombre") == ddlDuenio2.SelectedValue select unNodo).ToList(); } if (txtPrecio2.Text != "") { _resultado = (from unNodo in _resultado where (string)unNodo.Element("Precio") == txtPrecio2.Text select unNodo).ToList(); } var final = (from unNodo in _resultado select new { Matricula = unNodo.Element("Matricula").Value, Marca = unNodo.Element("Marca").Value, Modelo = unNodo.Element("Modelo").Value, Duenio = unNodo.Element("Duenio").Value, Precio = unNodo.Element("Precio").Value }).ToList(); GVAutos.DataSource = final; GVAutos.DataBind(); }