zoukankan      html  css  js  c++  java
  • WCF返回匿名类型(抛弃datatable复杂类型,采用xml格式)

      前几天在遇到WCF返回匿名类型时,采用了datatable返回值,虽将nullable类型处理掉,发现在调用端生成很多实际用不上的XML。

      突然才想起为什么不返回string或XML格式数据呢,如此就能在服务端很好的控制格式。

      如下代码:

    View Code
     ///<summary>
    /// 转为XML类型
    ///</summary>
    ///<typeparam name="T">泛型参数</typeparam>
    ///<param name="array">IEnumerable</param>
    ///<param name="elementlistName">节点名称</param>
    ///<returns></returns>
    public static XElement ConvertToXML<T>(this IEnumerable<T> array, string elementlistName)
    {
    try
    {
    XElement root = new XElement("root");
    foreach (T item in array)
    {
    XElement element = new XElement(elementlistName);
    foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))
    {
    XElement node = new XElement(dp.Name, dp.GetValue(item) != null ? dp.GetValue(item).ToString() : "");
    element.Add(node);
    }
    root.Add(element);
    }
    return root;
    }
    catch (Exception ex)
    {
    throw ex;
    }
    }

      如需分页等其他操作,可以在XML根节点添加属性即可;

  • 相关阅读:
    java读取excel文件内容
    JavaScript函数写法整理
    Redis命令
    Redis简单入门
    Redis介绍
    NodeJS代码调试
    React组件生命周期
    解决swiper动态改变数据后分页混乱问题
    [LeetCode] 343. Integer Break
    [LeetCode] 304. Range Sum Query 2D
  • 原文地址:https://www.cnblogs.com/yetiea/p/2074217.html
Copyright © 2011-2022 走看看