asp.net webserver 中 XmlElement 的使用

來源:互聯網
上載者:User

1.建立一個ToosTemp.asmx檔案

2.其中定義一個方法,取得產品的分類:

        [WebMethod(EnableSession = true, Description = "取得商品分類")]
        public GetProdClasssResponse GetProdClass(string merchantUid, string ShopCode)
        {
            GetProdClassBll bllGetProdClass = new GetProdClassBll();
            return bllGetProdClass.GetProdClass(merchantUid, ShopCode);
        }

3.建立輸出GetProdClasssResponse實體:

    [Serializable]    [XmlRoot("GetProdClasssResponse")]      public class GetProdClasssResponse    {        private GetProdClass getProdClass;        public GetProdClass GetProdClass {            set { getProdClass = value; }            get { return getProdClass; }        }    }

4.建立其他實體,使用到的:

View Code

    public class GetProdClass    {        private bool _ResultType;        public bool ResultType        {            get { return _ResultType; }            set { _ResultType = value; }        }        private string _ErrorCode;        public string ErrorCode        {            get { return _ErrorCode; }            set { _ErrorCode = value; }        }        private string _ErrorMsg;        public string ErrorMsg        {            get { return _ErrorMsg; }            set { _ErrorMsg = value; }        }        private List<ProProdClass> _ProdClass;        [XmlElement(ElementName = "ProdClass")]        public List<ProProdClass> ProdClass        {            set            { _ProdClass = value; }            get {                return _ProdClass;            }        }    }    public class ProProdClass    {        private string _ID;        public string ID        {            get { return _ID; }            set { _ID = value; }        }        private string _ClassName;        public string ClassName        {            get { return _ClassName; }            set { _ClassName = value; }        }        private string _Parent;        public string Parent        {            get { return _Parent; }            set { _Parent = value; }        }        private int _Kind;        public int Kind        {            get { return _Kind; }            set { _Kind = value; }        }    }

5.如果沒有  [XmlElement(ElementName = "ProdClass")] 這句:

產生的xml如下:

View Code

<?xml version="1.0" encoding="utf-8"?><GetProdClasssResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">  <GetProdClass>    <ResultType>true</ResultType>    <ProdClass>      <ProProdClass>        <ID>8dc84093-55ef-4bb7-b49e-27a5f285fb03</ID>        <ClassName>點心</ClassName>        <Parent>0</Parent>        <Kind>1</Kind>      </ProProdClass>      <ProProdClass>        <ID>d63f2b60-c869-48d6-8af5-ecdc03ec1177</ID>        <ClassName>飲料</ClassName>        <Parent>0</Parent>        <Kind>1</Kind>      </ProProdClass>      <ProProdClass>        <ID>bb007659-c359-404b-ba86-f4bc73305b42</ID>        <ClassName>漢堡</ClassName>        <Parent>0</Parent>        <Kind>1</Kind>      </ProProdClass>      <ProProdClass>        <ID>56505c54-e81b-46d6-a1ad-257fd43356c5</ID>        <ClassName>冷飲</ClassName>        <Parent>d63f2b60-c869-48d6-8af5-ecdc03ec1177</Parent>        <Kind>2</Kind>      </ProProdClass>      <ProProdClass>        <ID>ba8acf1c-5af7-464f-bd15-f4b65296961f</ID>        <ClassName>湯類</ClassName>        <Parent>d63f2b60-c869-48d6-8af5-ecdc03ec1177</Parent>        <Kind>2</Kind>      </ProProdClass>      <ProProdClass>        <ID>c8143a27-51b9-4421-99a7-3e6a3b682d28</ID>        <ClassName>甜點</ClassName>        <Parent>8dc84093-55ef-4bb7-b49e-27a5f285fb03</Parent>        <Kind>2</Kind>      </ProProdClass>      <ProProdClass>        <ID>39a9d3b2-7df0-4f47-828b-43da6c15fcf7</ID>        <ClassName>沙拉</ClassName>        <Parent>8dc84093-55ef-4bb7-b49e-27a5f285fb03</Parent>        <Kind>2</Kind>      </ProProdClass>      <ProProdClass>        <ID>647f4aea-74c0-4883-8972-45f181401574</ID>        <ClassName>熱飲</ClassName>        <Parent>d63f2b60-c869-48d6-8af5-ecdc03ec1177</Parent>        <Kind>2</Kind>      </ProProdClass>      <ProProdClass>        <ID>87414a0a-62ed-4b9d-b6f2-463b9860647f</ID>        <ClassName>米漢堡</ClassName>        <Parent>bb007659-c359-404b-ba86-f4bc73305b42</Parent>        <Kind>2</Kind>      </ProProdClass>      <ProProdClass>        <ID>41682ed6-746e-426e-b689-528a4a9751ef</ID>        <ClassName>熱狗堡</ClassName>        <Parent>bb007659-c359-404b-ba86-f4bc73305b42</Parent>        <Kind>2</Kind>      </ProProdClass>      <ProProdClass>        <ID>0193b67f-97de-46c4-807b-c86d4572dfa9</ID>        <ClassName>油炸</ClassName>        <Parent>8dc84093-55ef-4bb7-b49e-27a5f285fb03</Parent>        <Kind>2</Kind>      </ProProdClass>      <ProProdClass>        <ID>0fb3b45c-bba4-4289-aa24-decc79128aec</ID>        <ClassName>漢堡</ClassName>        <Parent>bb007659-c359-404b-ba86-f4bc73305b42</Parent>        <Kind>2</Kind>      </ProProdClass>    </ProdClass>  </GetProdClass></GetProdClasssResponse>

6.如果加上後,產生的如下:

View Code

<?xml version="1.0" encoding="utf-8"?><GetProdClasssResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">  <GetProdClass>    <ResultType>true</ResultType>    <ProdClass>      <ID>8dc84093-55ef-4bb7-b49e-27a5f285fb03</ID>      <ClassName>點心</ClassName>      <Parent>0</Parent>      <Kind>1</Kind>    </ProdClass>    <ProdClass>      <ID>d63f2b60-c869-48d6-8af5-ecdc03ec1177</ID>      <ClassName>飲料</ClassName>      <Parent>0</Parent>      <Kind>1</Kind>    </ProdClass>    <ProdClass>      <ID>bb007659-c359-404b-ba86-f4bc73305b42</ID>      <ClassName>漢堡</ClassName>      <Parent>0</Parent>      <Kind>1</Kind>    </ProdClass>    <ProdClass>      <ID>56505c54-e81b-46d6-a1ad-257fd43356c5</ID>      <ClassName>冷飲</ClassName>      <Parent>d63f2b60-c869-48d6-8af5-ecdc03ec1177</Parent>      <Kind>2</Kind>    </ProdClass>    <ProdClass>      <ID>ba8acf1c-5af7-464f-bd15-f4b65296961f</ID>      <ClassName>湯類</ClassName>      <Parent>d63f2b60-c869-48d6-8af5-ecdc03ec1177</Parent>      <Kind>2</Kind>    </ProdClass>    <ProdClass>      <ID>c8143a27-51b9-4421-99a7-3e6a3b682d28</ID>      <ClassName>甜點</ClassName>      <Parent>8dc84093-55ef-4bb7-b49e-27a5f285fb03</Parent>      <Kind>2</Kind>    </ProdClass>    <ProdClass>      <ID>39a9d3b2-7df0-4f47-828b-43da6c15fcf7</ID>      <ClassName>沙拉</ClassName>      <Parent>8dc84093-55ef-4bb7-b49e-27a5f285fb03</Parent>      <Kind>2</Kind>    </ProdClass>    <ProdClass>      <ID>647f4aea-74c0-4883-8972-45f181401574</ID>      <ClassName>熱飲</ClassName>      <Parent>d63f2b60-c869-48d6-8af5-ecdc03ec1177</Parent>      <Kind>2</Kind>    </ProdClass>    <ProdClass>      <ID>87414a0a-62ed-4b9d-b6f2-463b9860647f</ID>      <ClassName>米漢堡</ClassName>      <Parent>bb007659-c359-404b-ba86-f4bc73305b42</Parent>      <Kind>2</Kind>    </ProdClass>    <ProdClass>      <ID>41682ed6-746e-426e-b689-528a4a9751ef</ID>      <ClassName>熱狗堡</ClassName>      <Parent>bb007659-c359-404b-ba86-f4bc73305b42</Parent>      <Kind>2</Kind>    </ProdClass>    <ProdClass>      <ID>0193b67f-97de-46c4-807b-c86d4572dfa9</ID>      <ClassName>油炸</ClassName>      <Parent>8dc84093-55ef-4bb7-b49e-27a5f285fb03</Parent>      <Kind>2</Kind>    </ProdClass>    <ProdClass>      <ID>0fb3b45c-bba4-4289-aa24-decc79128aec</ID>      <ClassName>漢堡</ClassName>      <Parent>bb007659-c359-404b-ba86-f4bc73305b42</Parent>      <Kind>2</Kind>    </ProdClass>  </GetProdClass></GetProdClasssResponse>

7.對比如下:

如果有這個語句,產生的xml是少一個實體的。可以把list定義的實體給去掉。

8. [XmlElement(ElementName = "ProdClass1")] 可以定義輸出的實體名稱

        private List<ProProdClass> _ProdClass;

        [XmlElement(ElementName = "ProdClass1")]
        public List<ProProdClass> ProdClass
        {
            set
            { _ProdClass = value; }
            get {
                return _ProdClass;
            }
        }

這樣的語句,會輸出一個一個 ProdClass1實體。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.