XML ve XSLT Dosyalarını İşleyerek Ekrana HTML Çıktısı Veren ASPX Sayfası
evet mutlaka vardır bu konularla ilgilenen, hoş ben daha benden başkasını görüp duymadım ama neyse
Elinizde source olarak XML var, XSLT kullanarak bu dosyayı işlemek istiyorsunuz. Bazı yardımcı programlarla testlerini, çıktılarını, görünümü görüp hoşunuza gidiyor. Fakat internete koymak bunu biraz daha kastırıcı
Şöyleki aşağıdaki gibi bir default.aspx dosyanızın olması gerekli. Ne anlattığımı anlamayanlar, birer adet XML, XSLT ve ASPX dosyası ile db’ siz ek sayfasız muazzam portaller hazırlayabileceklerini düşünsünler. Şimdilik ilk aşama olarak ASPX dosyamızın kaynak kodlarını veriyorum. Fazla zor bir yapısı yok, o yüzden fazla açıklama gereği görmedim, isteyen olursa seve seve anlatabilirim.
Not düşeyim bir de : Buradaki XML ve XSLT dosyaları temel olarak Biztalk Server ın temelidir, yani microsoft bu teknolojiler üzerine BTS’ i geliştirmiştir.
Default.ASPX
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;
using System.IO;
using System.Reflection;
using System.Collections;
using System.Text.RegularExpressions;
using System.Web;
using System.Text;
using System;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DoPage();
}
protected void DoPage()
{
// XML Dokümanını yükle
XmlDocument defaultXml = new XmlDocument();
defaultXml.Load(HttpContext.Current.Server.MapPath("~/Data/Source.XML"));
XslCompiledTransform myXsl = new XslCompiledTransform(true);
XsltSettings xSet = new XsltSettings(true, true);
xSet = XsltSettings.TrustedXslt;
xSet.EnableDocumentFunction = true;
xSet.EnableScript = true;
XmlUrlResolver xr = new XmlUrlResolver();
System.Security.PermissionSet ps = new System.Security.PermissionSet(System.Security.Permissions.PermissionState.Unrestricted);
XmlSecureResolver sr = new XmlSecureResolver(new XmlUrlResolver(), ps);
myXsl.Load(HttpContext.Current.Server.MapPath("~/Data/Proses.XSLT"), xSet, sr);
XsltArgumentList myXslArguments = new XsltArgumentList();
string n="";
for (int i = 0; Request.QueryString.Count < i-1; ++i)
{
n = Request.QueryString.Keys[i].ToString();
if (!(n.Equals("")))
myXslArguments.AddParam(n, "", Request.QueryString.GetValues(i).ToString());
n = "";
}
myXslArguments.AddParam("currentUser", "", User.Identity.Name);
myXslArguments.AddParam("Browser", "", Request.Browser.Browser);
System.IO.MemoryStream mIO = new MemoryStream();
byte[] result;
string myt;
mIO.SetLength(0);
myXsl.Transform(defaultXml, myXslArguments, mIO);
result = mIO.ToArray();
myt = Encoding.UTF8.GetString(result, 3, result.Length - 3);
Response.Buffer = true;
Response.ClearContent();
Response.ClearHeaders();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "text/html";
Context.Response.Write(myt);
mIO.Close();
Response.End();
}
}
İlişkili Yazılar :
- Sharepoint 2010 Error : The underlying connection was closed: “Could not establish trust relationship for the SSL/TLS secure channel.”
- XSLT Choose
- Dataset ya da Datatable’dan Excele Bilgi Aktarma || Export Excel From Dataset, Datatable
- HTML de TIF (TIFF) gösterimi
- GMail HTML Desteği
- Biztalk error : New transaction cannot enlist in the specified transaction coordinator.
- DataTable da Sütunun DataType’ını Belirleme
- C# da Çalışan Uygulamanın Klasörünü Bulma
- Şifreyi Komşuya Veren Yandı!!!
- Biztalk Server 2010 – Beta
Tags: ASPX, Default.aspx, HTML Çıktısı, xml, XML Processing, XSL, XSLT
Posted in Yazılım | No Comments »
| Önceki Yazı << How Can I Access The ‘Web Part Maintenance Page’ ? | Sonraki Yazı >> BB |



