Yerel Pc' nin Versiyon 4 Ip adresini almak.
IPHostEntry en = Dns.GetHostEntry(Environment.MachineName);
var ip = en.AddressList.Where
(p => p.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).First();
txtIP.Text = ip.ToString();
Linq to xml ile bir xml dosyası oluşturup çalışma zamanı da Treeview kontrolünde gösterelim.
//aspx
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server">
<DataBindings>
<asp:TreeNodeBinding DataMember="Categories" Text="Categories" />
<asp:TreeNodeBinding DataMember="Category" TextField="CategoryName" ValueField="CategoryID" />
</DataBindings>
</asp:TreeView>
</div>
</form>
</body>
//cs
private void bindTree()
{
northwindDataContext db = new northwindDataContext();
string path = Server.MapPath(".\\App_Data\\data.xml");
if (!File.Exists(path))
{
XDocument xdoc = new XDocument(
new XDeclaration("1.0", "utf-8","yes"),
new XElement("Categories",
from p in db.Categories
orderby p.CategoryName
select
new XElement("Category",
new XAttribute("CategoryID", p.CategoryID),
new XAttribute("CategoryName", p.CategoryName))));
xdoc.Save(path);
}
XmlDataSource xd = new XmlDataSource();
xd.ID = "xid1";
xd.DataFile = path;
this.form1.Controls.Add(xd);
TreeView1.DataSourceID = "xid1";
}
Şöyle bir düşündüğümüzde veritabınında bulunan herhangi bir tablonun verilerini Xml biçiminde dosyaya yazmanın kaç yolu vardır acaba? Sabahları genelde işe erken gelirim, 1.5 saat kadar :).
Oturdum bir kaç örnek yaptım, paylaşıyorum tüm dünya ile. (Özgüvenin tavan yaptığı an)
Aklıma gelen ilk yöntem DataTable nesnesini kullanmak. Bu nesneyi sadece yazmak için kullanmak kaynak tüketimi açısından çok iyi bir seçim olmaz fakat kullanım kolaylığı açısında tercih edilebilir.

Diğer bir yöntem ise henüz Veri Katmanında (DataLayer) iken oracıkta xml formatına dönüştürüp XmlTextWriter ile cayır cayır yazmak.

Son yöntem ise daha önce şu yazıda kullandığım teknik ile (attribute yerine bu sefer node kullandım) XDocument ile manuel olarak xml dosyasını oluşturmak. Sanırım en zoru bu. Yanlış anlaşılmasın benim için kolay da hani ilk yapan için diyorum.

Çok yakın ve kadim bir dostum için araştırırken farkettim ve paylaşmak istedim.
ListView kontrolü içinde ki verileri gruplayarak göstermek. DataList kontrolündeki RepeatColums özelliğini kullanmak gibi fakat birazcık farklı :)
Div etiketleriyle Listview'e şablon hazırlamak lazım.

Veri kaynağı için basit ve hızlı bir çözüm, dosyalar.

Dosyaları biraz süslü gösterelim.
![]()
Sonuç;