| Ana Sayfa | Dersler | Download | Forum |Bize Ulaşın  |Siteni Ekle | Ziyaretçi Defteri |


  .NET FRAMEWORK
  Namespace Oluşturmak ve Kurmak
  XMLTEXTWRİTER CLASS
  XMLTEXTREADER
  STİL KONTROLÜ
  Object/Relational Mapping(O/RM)

 

XMLTextWriter Class Nasıl Kullanılır? 

Daha önceki yazılarımızda XML, XML Web Servisleri, SQL Server dan XML data export gibi bir çok konuyu ele aldık. Bu yazımızda ise .Net Framework bünyesinde bize sunulan XMLTextWriter sınıfını kullanarak XMl dokuman yaratmak üzerinde duracağım. XML hakkında bilgisi yetersiz olan kullanıcılarımıza aşağıdaki linkde bulunan yazıları da okumalarını öneririm.

XML Hakkında Detaylı Bilgi

Şimdi biz kaldığımız yerden devam edelim ve öncelikle XMLTextWriter sınıfının metodlarını inceleyelim.

WriteStartDocument()

Bu metod ile XML dokuman yazmaya başıyoruz. Nedir başlamak? XML dokumanları aslında text dokumanlardır ve bir header kaydı içerirler. Bu dokumanın XML verisi taşıdığını ve encoding bilgisini taşıyan satırdır. Ve her XMl dokumanda ilk satır olarak yerini bulur. Bu metod ile bizde XML dokumanımızı oluşturmaya başlıyoruz.
 

WriteStartElement(string)

Bu metod sayesinde XML dokumana yeni bir eleman ekleyebiliryoruz.
 



WriteElementString(name, text_value)

Bu metod sayesinde değer taşıyan yeni bir XML element oluşturabiliriz.
 



WriteAttributeString(name, value)

Bu metod sayesinde yeni bir sıfat ve değerini yazdırabiliriz.
 



WriteEndElement()

WriteStartElement(string) ile başladığımızelemanı sonlandırıyoruz.
 



WriteEndDocument()

XML dokumanı sonlandırıyoruz
 



Close()

Projeyi sonlandırıyoruz.
 



Şimdi bir örnek yapalım. Örneğimiz aşağıdaki formatta bir XML dokuman oluştursun.
 

<userInfo>
  <browserInfo>    
    <urlReferrer>Referrer URL</urlReferrer>
    <userAgent>Browser Tipi</userAgent>
    <userLanguages>Browser Dili</userLanguages>
  </browserInfo>
  <visitInfo timeVisited="ziyaret tarihi/saati">
    <ip>IP Adresi</ip>
    <rawUrl>Ziyaret Edilen Sayfa</rawUrl>
  </visitInfo>
</userInfo>

<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Text" %>
<script language="C#" runat="server">
void Page_Load(object sender, EventArgs e)
{
  // XMLTextWriter Orneği Yaratıyoruz
  XmlTextWriter writer = new
       XmlTextWriter(Server.MapPath("kullaniciBilgi.xml"), Encoding.UTF8);
   
  // Dokumanı Oluşturuyor ve İlk elemanımızı yaratıyoruz
  writer.WriteStartDocument();
  writer.WriteStartElement("userInfo");
 
    // Yeni bir elaman yaratıyoruz
    writer.WriteStartElement("browserInfo");
    // Alt Node ları yaratıyoruz   
    if (Request.UrlReferrer == null)
    writer.WriteElementString("urlReferrer", "none");
  else
    writer.WriteElementString("urlReferrer",
                     Request.UrlReferrer.PathAndQuery);
   
      writer.WriteElementString("userAgent", Request.UserAgent);
      writer.WriteElementString("userLanguages",
                       String.Join(", ", Request.UserLanguages));
    writer.WriteEndElement();
 
    // Yeni bir elemanyaratıyoruz
    writer.WriteStartElement("visitInfo");
    // Alt Node ları yaratıyoruz
      writer.WriteAttributeString("timeVisited", DateTime.Now.ToString());
      writer.WriteElementString("ip", Request.UserHostAddress);
      writer.WriteElementString("rawUrl", Request.RawUrl);
    writer.WriteEndElement();  
   // Elemanı Sonlandırıyoruz
  writer.WriteEndElement();
   // Dokumanı sonlandırıyoruz
  writer.WriteEndDocument();
  writer.Close();   
}
 

Ve örnek uygulamamızın sonucu:
 
  <?xml version="1.0" encoding="utf-8" ?>
- <userInfo>
- <browserInfo>
  <urlReferrer>/Makaleler/XMLTextWriter.aspx</urlReferrer>
  <userAgent>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)</userAgent>
  <userLanguages>tr</userLanguages>
  </browserInfo>
- <visitInfo timeVisited="9/6/2004 5:00:36 AM">
  <ip>81.215.124.19</ip>
  <rawUrl>/Makale_Projeler/UserInfoWriter.aspx</rawUrl>
  </visitInfo>
  </userInfo>
 

| Ana Sayfa | Dersler | Download | Forum |Bize Ulaşın  |Siteni Ekle | Ziyaretçi Defteri |

Türk MCSD .NET© 2005
Siteyi en kaliteli Internet Explorer 5 ve üzeri versiyonlarinda 800 x 600 pixel çözünürlükte izlemenizi tavsiye ederiz.