09 December 2016

XML Oluşturma

Daha önceki notlarımda genel olarak XML konusuna değinmiştim.

Bu yazıda XML oluşturma komutlarına örneklerle göz atacağız.

if (!Page.IsPostBack)
 {
 XmlDocument xdoc = new XmlDocument();
//bookstore isimli xml elemanı oluşturalım.
XmlElement xeBookStore = xdoc.CreateElement("bookstore");

//book
 XmlElement xeBook = xdoc.CreateElement("book");
 xeBook.SetAttribute("ID", "1");

//title
 XmlElement xeTitle = xdoc.CreateElement("title");
 xeTitle.InnerText = "C# 4.0 Yenilikleri";

//author
XmlElement xeAuthor = xdoc.CreateElement("authors");

//firstname
XmlElement xeFirstName = xdoc.CreateElement("firstname");
 xeFirstName.InnerText = "Cemil";

//lastname
XmlElement xeLastname = xdoc.CreateElement("lastname");
 xeLastname.InnerText = "Çiçek";

//price
XmlElement xePrice = xdoc.CreateElement("price");
 xePrice.InnerText = "60";

//xml oluştur
xeBookStore.AppendChild(xeBook);
 xeBook.AppendChild(xeTitle);
 xeBook.AppendChild(xeAuthor);
 xeAuthor.AppendChild(xeFirstName);
 xeAuthor.AppendChild(xeLastname);
 xeBook.AppendChild(xePrice);
 xdoc.AppendChild(xeBookStore);
 xdoc.Save(string.Format("{0}\\{1}", Server.MapPath("XmlData"), "books.xml"));
}

 

Daha önce oluşturduğumuz xml dosyasına yazar ekleyelim.

string path = string.Format("{0}\\{1}",Server.MapPath("XmlData"),"books.xml");
 XmlDocument xdoc = new XmlDocument();
 xdoc.Load(path);
XmlElement xeFirstName = xdoc.CreateElement("firstname");
 xeFirstName.InnerText = txtYazar.Text;
XmlNode author = xdoc.SelectSingleNode("bookstore/book[@ID=1]/authors");
 author.AppendChild(xeFirstName);
 xdoc.Save(path);

 

Daha önce oluşturduğumuz xml dosyasından kayıt silelim:

string path = string.Format("{0}\\{1}", Server.MapPath("XmlData"), "books.xml");
 XmlDocument xdoc = new XmlDocument();
 xdoc.Load(path);
XmlNode bookstore= xdoc.SelectSingleNode("bookstore");
 XmlNode book = xdoc.SelectSingleNode("bookstore/book[@ID=1]");
 if (book!=null)
 {
 bookstore.RemoveChild(book);
 xdoc.Save(path);
}

 

Veri güncellemesi yapalım:

string path = string.Format("{0}\\{1}", Server.MapPath("XmlData"), "books.xml");
 XmlDocument xdoc = new XmlDocument();
 xdoc.Load(path);
XmlNode xeTitle = xdoc.SelectSingleNode("bookstore/book[@ID=1]/title");
 xeTitle.InnerText = txtYazar.Text;
 xdoc.Save(path);
 <div>

 

Kodlara bakalım

<asp:Label ID="Label1" runat="server" Text="Yazar"></asp:Label>
 <br />
 <asp:TextBox ID="txtYazar" runat="server"></asp:TextBox>
 <br />
 <asp:Button ID="btnYazarEkle" runat="server" onclick="btnYazarEkle_Click"
 Text="Yazar Ekle" />
 <asp:Button ID="btnSil" runat="server" onclick="btnSil_Click" Text="Sil" />
 <asp:Button ID="btnGuncelle" runat="server" onclick="btnGuncelle_Click"
 Text="Güncelle" />
</div>