首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 發現之旅第三講:基於 XSLT 代碼生成器(五)

     編輯:關於C語言

生成代碼按鈕事件核心流程

  1. 取得 DataBaseInfo 物件(含表結構)。
  2. 依下拉選單決定序列化整個資料庫或單一表 → GetXMLString() 產生帶縮排 XML。
  3. 若未選 XSLT 模板:以 <textarea readonly> 直接顯示 XML(免轉義)。
  4. 若選擇模板:
    • XslTransform.Load(Server.MapPath(xslt)) 載入樣式表。
    • XmlDocument.LoadXml(xml) 載入資料 XML。
    • Transform(doc, null, StringWriter, null) 執行轉換,結果寫入 StringWriter。
  5. 將 HTML 結果指派給標籤控制項顯示。

GetXMLString 序列化輔助函數


private string GetXMLString(object obj)
{
    StringWriter sw = new StringWriter();
    XmlTextWriter xw = new XmlTextWriter(sw) { Indentation = 3, IndentChar = ' ', Formatting = Formatting.Indented };
    new XmlSerializer(obj.GetType()).Serialize(xw, obj);
    xw.Close();
    string xml = sw.ToString();
    int i = xml.IndexOf("?>");
    if (i > 0) xml = xml.Substring(i + 2);
    return xml.Trim();
}
  • XmlSerializer 自動序列化公開可讀寫屬性,遞迴處理物件樹。
  • 移除 XML 宣告行,回傳純內容。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved