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

Step1 數據系統技術(二):XML + XSLT 頁面生成機制——數據與表現徹底分離

     編輯:關於ASP.NET

主體頁面採 XML + XSLT 生成,非傳統 aspx 輸出。核心優勢:

  1. 數據與表現完全分離: XML 承載數據,XSLT 定義呈現,結構清晰易維護。
  2. 輸出目標靈活: 可導向檔案或 Response Stream。
  3. 自動壓縮 HTML: 生成緊湊、瀏覽器可解析但難閱讀代碼;註解不輸出客戶端。
  4. 模組化復用: XSLT 互相調用,易更新維護。
  5. 換膚極簡單: 替換 XSLT 即可整站風格大變身,遠超 CSS 換膚。

缺點: 學習曲線陡峭,使用者較少,為最大阻礙。

核心代碼

protected void saveFile(XmlDocument xml, string xsltFile) {
  XslTransform xslt = new XslTransform();
  xslt.Load(Server.MapPath(XsltFilePath) + xsltFile);
  xslt.Transform(xml, null, Response.OutputStream, null);
  writer.Close();
}

數據填充技巧:SQL FOR XML

查詢 SQL 附加 FOR XML AUTO 直接輸出 XML 節點,再用 XmlTextReader 讀取合併至主 XML:

protected void GetXmlBySql(XmlNode xmlNode, string sql, SqlConnection conn) {
  SqlCommand sqlCommand = new SqlCommand(sql, conn);
  XmlTextReader xmlTextReader = (XmlTextReader)sqlCommand.ExecuteXmlReader();
  xmlTextReader.Normalization = true;
  try {
    while (!xmlTextReader.EOF) {
      XmlNode tempXmlNode = xmlNode.OwnerDocument.ReadNode(xmlTextReader);
      if (tempXmlNode != null) xmlNode.AppendChild(tempXmlNode);
    }
  } catch (Exception e) { }
  xmlTextReader.Close();
  sqlCommand.Dispose();
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved