.Net Framework bünyesinde bize sunulan XMLTextWriter sınıfını kullanarak XML dokuman oluşturmak konusunu anlatalım
Öncelikle XMLTextWriter sınıfının metodlarını inceleyelim.
WriteStartDocument()
Bu metod ile XML dokuman yazmaya başlı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 ekleyebiliyoruz.
——————————————————————————–
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ız elemanı 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 Oluşturuyoruz
XmlTextWriter writer = new
XmlTextWriter(Server.MapPath(”kullaniciBilgi.xml”), Encoding.UTF8);
// Dokumanı Oluşturuyor ve İlk elemanımızı yazıyoruz
writer.WriteStartDocument();
writer.WriteStartElement(”userInfo”);
// Yeni bir eleman oluşturuyoruz
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 eleman oluşturuyoruz
writer.WriteStartElement(”visitInfo”);
// Alt Node ları oluşturuyoruz
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 **”>
<ip>81.215.124.19</ip>
<rawUrl>/Makale_Projeler/UserInfoWriter.aspx</rawUrl>
</visitInfo>
</userInfo>
Bu yazı bugün ise 12
toplamda 10553 kez okunmuştur.
