.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" ?>
<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">
<rawUrl>/Makale_Projeler/UserInfoWriter.aspx</rawUrl>
</visitInfo>
</userInfo>
|
|