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

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

     編輯:關於C語言

DataBaseInfo 核心類別架構

  • DataBaseInfo:資料庫容器,含 Tables 集合。
  • TableInfo:表資訊,含 Fields 集合、Tag 儲存型別標記。
  • FieldInfo:欄位資訊(名稱、型別、長度、可空、主鍵、索引等)。

三者形成「資料庫→表→欄位」三層物件樹,支援 XML 序列化。

LoadFromPDMXMLDocument 解析 PowerDesigner PDM XML

  • 使用 XmlNamespaceManager 註冊 a/c/o 前綴。
  • XPath 定位 /Model/o:RootObject/c:Children/o:Model 為根。
  • 遍歷 c:Tables/o:Table 取得表代碼、名稱、主鍵參考 ID。
  • 解析 c:Keys/o:Key[@Id=...]/c:Key.Columns/o:Column/@Ref 取得主鍵欄位 ID 集合。
  • 遍歷 c:Columns/o:Column 取得欄位代碼、名稱、註解、資料型別(去除長度括號)、長度、主鍵標記。

輔助方法 ReadXMLValue


private string ReadXMLValue(XmlNode node, string path, XmlNamespaceManager nsm)
{
    XmlNode n = node.SelectSingleNode(path, nsm);
    if (n == null) return null;
    return (n is XmlElement) ? ((XmlElement)n).InnerText : n.Value;
}

統一處理元素文字與屬性值讀取。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved