Bu yazının önceki bölümlerini
başlıkları altında okuyabilirsiniz.
XSL Dosyaları
Daha önce de söylediğimiz gibi, XSL’yi mektubun gövde kısmının sunumunu yaratmak için kullanıyoruz. XSL kullanmanın en başta gelen avantajlarından biri, gerek duyulduğunda mektubun içeriğini kolayca değiştirebiliyor olmamız. Mektubun sunumunu değiştirmek için yapmanız gereken tek şey mektubu gönderen kodun tek harfine bile dokunmaya gerek kalmadan XSL dosyasında değişiklik yapmaktır.
Bu bize, uygulamayı sürdürürken özellikle de iş faaliyetinin işleyişinde ortaya çıkan zorlayıcı değişiklikler göz önüne alındığında engin bir hareket kabiliyeti verir. XSL kullanımının bir diğer avantajı ise, HTML tabanlı mektup yerine değişik türde bir mektup (örneğin metin-tabanlı bir mektup) göndermek istediğiniz taktirde yapmanız gereken tek şey XSL dosyasını değiştirmektir. Bu makalenin amacı çerçevesinde ProductsInformation.xsl (ÜrünBilgileri.xsl) ve CategoriesInformation.xsl (KategoriBilgileri.xsl) adlı iki XSL dosyası kullanacağız. XSL dosyalarını, 15Seconds Web sitesinden mektup işlemi koduyla birlikte indirebilirsiniz.
CreateXmlDocument (Xml-Belgesi-Yarat) Yöntemi
CreateXmlDocument yöntemi MailAttributeCollection nesnesini kendisine ölçü olarak alır. İşe, XML sabitini barındırmak için kullanılan XmlDocument nesnesinin bir örneğini yaratmakla başlar. Sonra da MailAttributeCollection nesnesinin tüm değerlerini yavru unsurlar olarak altına ekleyeceği MailRoot (Mektup-Kökü) adını verdiğimiz kök bir XML düğümü (node) yaratır. Son olarak da XmlDocument nesnesini çağırma yöntemine geri yollar.
- private XmlDocument CreateXmlDocument(MailAttributeCollection mailAttrContainer)
{
//XmlDocument ornegi yarat
XmlDocument xmlDoc = new XmlDocument();
//Tum dugumlerin ana kökü olarak islev goren MailRoot adli bir kok dugum yarat
XmlNode rootNode =
Aşağıdaki satırda, altında MailAttributeCollection nesnesinin tüm değerlerinin saklandığı ana bir düğüm olarak işlev gören MailRoot adlı düğüm yaratılmaktadır.
- xmlDoc.CreateNode(XmlNodeType.Element,”MailRoot”,null);
XmlNode childNode;
Kök düğüm yaratıldıktan sonra Name(ad), Address, State(Eyalet), Zip(Posta-kodu) ve bunlar gibi geriye kalan tüm düğümleri yaratır ve bunları kök düğüme katar.
- //Kullanici Ayrintilerini kok dugum altinda yarat
childNode = xmlDoc.CreateNode(XmlNodeType.Element,”Name”,null); childNode.InnerText = mailAttrContainer.Name;
rootNode.AppendChild(childNode);
childNode = xmlDoc.CreateNode(XmlNodeType.Element,”Address”,null); childNode.InnerText = mailAttrContainer.Address;
rootNode.AppendChild(childNode);
childNode = xmlDoc.CreateNode(XmlNodeType.Element,”State”,null); childNode.InnerText = mailAttrContainer.State;
rootNode.AppendChild(childNode);
childNode = xmlDoc.CreateNode(XmlNodeType.Element,”Zip”,null); childNode.InnerText = mailAttrContainer.Zip;
rootNode.AppendChild(childNode);
//Alicinin ayrintilarini yarat
childNode =
xmlDoc.CreateNode(XmlNodeType.Element,”ProductName”,null); childNode.InnerText = mailAttrContainer.ProductName;
rootNode.AppendChild(childNode);
childNode =
xmlDoc.CreateNode(XmlNodeType.Element,”ProductDescription”,null); childNode.InnerText = mailAttrContainer.ProductDescription;
rootNode.AppendChild(childNode);
childNode =
xmlDoc.CreateNode(XmlNodeType.Element,”CategoryName”,null);
childNode.InnerText = mailAttrContainer.CategoryName;
rootNode.AppendChild(childNode);
//Tum tarihleri ekle
childNode =
xmlDoc.CreateNode(XmlNodeType.Element,”CategoryDescription”,null);
childNode.InnerText = mailAttrContainer.CategoryDescription;
rootNode.AppendChild(childNode);
Son olarak bu işlev kök düğümü demin yaratılan XmlDocument nesnesine ekler ve onu çağırma yöntemine geri yollar.
- xmlDoc.AppendChild(rootNode);
//Yaratilan XmlDocument nesnesini cagiriciya geri yolla
return xmlDoc;
Bu yazının devamını e-Posta İşlemleri için Sistem Yaratmak – 6 başlığı altında okuyabilirsiniz



Kaynak : 