using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace XDocumentDemo
{
public partial class Form1 : Form
{
CustomerManager Manager { get; set; }
public Form1()
{
InitializeComponent();
//populate the combobox
Manager = new CustomerManager();
uxCountries.DataSource = Manager.GetCountries();
}
private void uxCountries_SelectedIndexChanged(object sender, EventArgs e)
{
var name = uxCountries.SelectedItem.ToString();
uxCustomers.DataSource = Manager.GetCustomersByCountry(name);
}
}
}
---------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq; //for XDocument class
using System.Collections;
namespace XDocumentDemo
{
public class CustomerManager
{
XDocument Document { get; set; }
public CustomerManager()
{
Document = XDocument.Load("nw_customers.xml");
}
public IList<string> GetCountries()
{
var countries = Document.Descendants("Country").OrderBy(c => c.Value).
Select(c => c.Value).Distinct().ToList();
return countries;
}
public IList GetCustomersByCountry(string country)
{
var customers =
from cust in Document.Descendants("Customers")
where cust.Element("FullAddress").Element("Country").Value == country
select new
{
Company = cust.Element("CompanyName").Value,
Contact = cust.Element("ContactName").Value,
Phone = cust.Element("Phone").Value,
City = cust.Element("FullAddress").Element("City").Value
};
return customers.ToList();
}
}
}
No comments:
Post a Comment