实体类    public class T_ITEM
    {
        private string item_id;
        public string ITEM_ID
        {
            get{return item_id;}
            set{item_id=value;}
        }}返回的xml是-<ArrayOfAnyType> <anyType xsi:type="xsd:decimal">7751</anyType> <anyType xsi:type="xsd:string">null</anyType> <anyType xsi:type="xsd:string">null</anyType> <anyType xsi:type="xsd:string">爆米花机</anyType>节点都是字段类型,怎么把它换成实体类的字段名比如<ITEM_ID>7751</ITEM_ID>

解决方案 »

  1.   

        public class T_ITEM
        {
            private string item_id;
            [XmlElement(ElementName = "ITEM_ID")]
            public string ITEM_ID
            {
                get { return item_id; }
                set { item_id = value; }
            }
            private string item_type;        [XmlElement(ElementName = "Item_type")]
            public string Item_type
            {
                get { return item_type; }
                set { item_type = value; }
            }
        }
      

  2.   

    例子
                T_ITEM t_item = new T_ITEM();
                t_item.ITEM_ID = "7754";
                t_item.Item_type = "爆米花机";
                MemoryStream ms = new MemoryStream();
                XmlSerializer xml = new XmlSerializer(t_item.GetType());
                xml.Serialize(ms, t_item);
                Response.Write(Encoding.UTF8.GetString(ms.ToArray()));<?xml version="1.0"?>
    <T_ITEM xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ITEM_ID>7754</ITEM_ID>
      <Item_types>爆米花机</Item_types>
    </T_ITEM>
      

  3.   

    直接序列化可以,但在webservice里就不行