写的一个webservice,做了转换但显示出来的还是字符串,格式很乱,其他
调用不了,求高人帮我看看问题在哪?[WebMethod(Description = "读取Dev.txt文本配置信息")]
        public string GetDevConfigData()
        {
            string[] sysArray = ServiceData._sysArray;
            string devContent = ServiceData.GetContent(sysArray, "dev.txt");  //读取文本数据
            string[] arrList = devContent.Split('\n');
            string[] arrBuf;
            string strRelt;
            DataSet dataSet = new DataSet("DataSet");
            DataTable dTable = dataSet.Tables.Add("ItemConfig");
            dTable.Columns.Add("ItemCode",typeof(string));
            dTable.Columns.Add("ItemName", typeof(string));
            dTable.Columns.Add("ItemType", typeof(string));
            dTable.Columns.Add("TypeName", typeof(string));
            DataRow row;
            for (int i = 0; i < arrList.Length; i++)
            {
                arrBuf = arrList[i].Split(',');
                row = dTable.NewRow();
                row["ItemCode"] = arrBuf[2];
                row["ItemName"] = arrBuf[3];
                row["ItemType"] = arrBuf[4];
                row["TypeName"] = ServiceData.TypeContent(arrBuf[4]);   //获取类型名称
                dTable.Rows.Add(row);
            }
            strRelt = dataSet.GetXml();
            return strRelt;
        }显示结果:24974 主水泵房水泵1开停 22 开停 24975 主水泵房水泵2开停 22 开停 24976 主水泵房水泵3开停 22 开停 24979 井底煤仓烟雾 31 未定义 24983 3101皮带机头烟雾 31 未定义 25012 2#主通风机2 22 开停 25013 2#主通风机1 23 开关 25014 1#主通风机1 22 开停 25015 1#主通风机2 22 开停 25019 井底煤仓皮带开停 22 开停 25021 3101皮带开停 22 开停 25022 3101工作面馈电 255 自定义 25039 胶带大巷延伸开拓风机主机1 22 开停 25040 胶带大巷延伸开拓风机备机1 22 开停 25041 胶带大巷延伸开拓.............希望是这样的- <DataSet>
- <ItemConfig>
  <ItemCode>24974</ItemCode> 
  <ItemName>主水泵房水泵1开停</ItemName> 
  <ItemType>22</ItemType> 
  <TypeName>开停</TypeName> 
  </ItemConfig>
- <ItemConfig>
  <ItemCode>24975</ItemCode> 
  <ItemName>主水泵房水泵2开停</ItemName> 
  <ItemType>22</ItemType> 
  <TypeName>开停</TypeName> 
  </ItemConfig>
- <ItemConfig>
  <ItemCode>24976</ItemCode> 
  <ItemName>主水泵房水泵3开停</ItemName> 
  <ItemType>22</ItemType> 
  <TypeName>开停</TypeName> 
  </ItemConfig>
........
webservicexml

解决方案 »

  1.   

    下一个断点,看是返回的问题还是你客户端解析的问题。不行的话做一个HTMLEncode编码。
      

  2.   

    http://blog.csdn.net/happy09li/article/details/7460521
      

  3.   

    把数据改了下能编译,运行出来就是上面的结果,显然是你显示结果的问题,不是xml问题。
    string[] arrList = {"24974,主水泵房水泵1开停,22,开停"};
                string[] arrBuf;
                string strRelt;
                DataSet dataSet = new DataSet("DataSet");
                DataTable dTable = dataSet.Tables.Add("ItemConfig");
                dTable.Columns.Add("ItemCode", typeof(string));
                dTable.Columns.Add("ItemName", typeof(string));
                dTable.Columns.Add("ItemType", typeof(string));
                dTable.Columns.Add("TypeName", typeof(string));
                DataRow row;
                for (int i = 0; i < arrList.Length; i++)
                {
                    arrBuf = arrList[i].Split(',');
                    row = dTable.NewRow();
                    row["ItemCode"] = arrBuf[0];
                    row["ItemName"] = arrBuf[1];
                    row["ItemType"] = arrBuf[2];
                    row["TypeName"] = "ss";   //获取类型名称
                    dTable.Rows.Add(row);
                }
                strRelt = dataSet.GetXml();
      

  4.   

    jquery?你在前端获取的时候是不是指定为XML?
      

  5.   

    楼主的代码出来的结果已经是 XML 格式的字符串了,可能测试工具有问题,没有显示出 XML 的结构。
      

  6.   

    WebSerVice返回的格式就是XML格式的,是不是你客户端解析的问题了,你设置断点调试下看看