分享

SQL查询 生成XML

 张小龙net馆藏 2018-01-08

1

  1. select t.UserNameXML.value('(/b/UserName)[1]','varchar(20)') as Name /*查询XML中的UserName值*/  
  2. from  
  3. (select a.* ,(select b.UserName from dbo.T_UserLogin b where b.LoginId=a.LoginId  for xml auto, type, elements) as UserNameXML  
  4.  from T_UserInfo a) t   

查询结果:




其中以下这条语句查询结果是:

  1. select a.* ,(select b.UserName from dbo.T_UserLogin b where b.LoginId=a.LoginId  for xml auto, type, elements) as UserNameXML  
  2.  from T_UserInfo a  
查询结果:




将XML序列化成一个Liset对象,和一个对象

  1. protected List<T> XmlListInit<T>(string value) where T : BaseTO, new()  
  2.     {  
  3.     var objs = new List<T>();  
  4.     XmlDocument doc = new XmlDocument();  
  5.     XmlElement root = doc.CreateElement("root");  
  6.     doc.AppendChild(root);  
  7.     root.InnerXml = value;  
  8.     foreach (XmlNode node in root.ChildNodes)  
  9.     {  
  10.         var o = new T();  
  11.         o.Initialize(node);  
  12.         objs.Add(o);  
  13.     }  
  14.     return objs;  
  15. }  
  16.   
  17. protected T XmlInit<T>(string value) where T : BaseTO, new()  
  18. {  
  19.     var obj = new T();  
  20.     XmlDocument doc = new XmlDocument();  
  21.     XmlElement root = doc.CreateElement("root");  
  22.     doc.AppendChild(root);  
  23.     root.InnerXml = value;  
  24.     if (value != null)  
  25.     {  
  26.         obj.Initialize(root.FirstChild);  
  27.     }  
  28.     return obj;  
  29. }  




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多