ASP.NET : LoadXml(string) ile dinamik XML dosyası oluşturmak

ASP.NET’te sıfırdan XML oluşturmak için üç ana API’ye sahibiz.  LINQ to XML, XmlWriter class ve W3C DOM. Bu makalede en basit metod olan, bir stringin W3C DOM Microsoft uzantısı olan LoadXml()’e yüklenmesiyle oluşturulan metodu kullanacağız.

Aşamalar şöyle olacak :

  •  1. products.xml oluştur
  •  2. LoadXml(string)
    •  2.1 olustur-xml-string.aspx
    •  2.2 olustur-xml-string.aspx.cs

Aşağıda örnek olarak kullanacağım product.xml XML dökümanını görebilirsiniz. Bu örneği LoadXml(string) kullanarak nasıl oluşturacağımızı öğreneceğiz. Örneğimize bakarak bir Xml Deklarasyonunu, üst eleman, ilk eleman ve onların alt elemanlarını oluşturmada fikir sahibi olacağız.


<?xml version="1.0" encoding="utf-8"?>
<products>
<product <span class="at">id</span>="p3">
<name>Test ad</name>
<price>1200</price>
<stock>19</stock>
<country>Turkiye</country>
</product>
</products>

En aşağıda yer alan kodlarımızda görüleceği gibi, yüklenen dosyayı elde etmek için Response.Redirect metodunu kullanıyoruz. Şayet dosya ismini doğru yazarsanız kod düzgün çalışacaktır.

2. LoadXml(string)

2.1 olustur-xml-string.aspx


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="olustur-xml-string.aspx.cs" Inherits="olustur_xml_string" %>

2.2 olustur-xml-string.aspx.cs


using System;
using System.Xml;

public partial class olustur_xml_string : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
    string xmlString = "<?xml version='1.0' encoding='UTF-8'?>";
            xmlString += "<products>";
            xmlString += "<product id='p3'>";
            xmlString += "<name>Test ad</name>";
            xmlString += "<price>1200</price>";
            xmlString += "<stock>19</stock>";
            xmlString += "<country>Turkiye</country>";
            xmlString += "</product>";
            xmlString += "</products>";

            XmlDocumentdoc = new XmlDocument();
            doc.LoadXml(xmlString);
            doc.Save(Server.MapPath("products-string.xml");
 
            Response.Redirect("products-string.xml"); // tarayıcıda dosyayı yükle

}

Muavenet

Web teknolojilerine merak salmış bir bilgisayar mühendisinin yazıları

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir