簡體   English   中英

asp.net Web服務的xml輸出

[英]xml output from asp.net webservice

我想將以下格式作為Web服務的輸出,但返回為空,請您幫我弄清楚它的格式嗎?

我正在使用asp.net2

我想收到以下輸出:

<LIST OF CUSTOMER>
<CustomerData>
    <V_CUST_CODE value="c1"/>
    <V_CUST_NAME value="Customer 1"/>
</CustomerData>
<CustomerData>
    <V_CUST_CODE value="c2"/>
    <V_CUST_NAME value="Customer 2"/>
</CustomerData>
<CustomerData>
    <V_CUST_CODE value="c2"/>
    <V_CUST_NAME value="Customer 2"/>
</CustomerData>
<LIST OF CUSTOMER/>

我目前的輸出:

<?xml version="1.0" encoding="utf-8" ?> 
  <ArrayOfCustomerData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://123.23.45.34/sms/" /> 

我的網絡服務

[WebMethod]
    public List<CustomerData> getFMSCustomerName()
    {
        string[] cols = {"V_CUST_CODE", "V_CUST_NAME"};

        ArrayList CustomerList = (ArrayList)db.Select(cols, "table1", "", "order by V_CUST_NAME");

        List<CustomerData> cd = new List<CustomerData>();
        foreach(DataRow dr in CustomerList)
            cd.Add(new CustomerData(dr["V_CUST_CODE"].ToString(), dr["V_CUST_NAME"].ToString()));

        return cd;
    }


public class CustomerData
{
    private string _V_CUST_CODE;
    private string _V_CUST_NAME;

    public String V_CUST_CODE
    {
        get
        {
            return this._V_CUST_CODE;
        }
        set
        {
            this._V_CUST_CODE = value;
        }
    }
    public String V_CUST_NAME
    {
        get
        {
            return this._V_CUST_NAME;
        }
        set
        {
            this._V_CUST_NAME = value;
        }
    }


    public CustomerData(String V_CUST_CODE, String V_CUST_NAME)
    {
        this.V_CUST_CODE = V_CUST_CODE;
        this.V_CUST_NAME = V_CUST_NAME;

    }

    public CustomerData() { }
}

我通過使用以下代碼解決了我的問題:

public String getFMSCustomerName()
    {
        string[] cols = {"V_CUST_CODE", "V_CUST_NAME"};

        ArrayList CustomerList = (ArrayList)db.Select(cols, "table1", " V_STATUS = 'A'", "order by V_CUST_NAME");

        //List<CustomerData> cd = new List<CustomerData>();
        XmlDocument doc = new XmlDocument();

        XmlNode CustomersNode = doc.CreateElement("Customers");
        doc.AppendChild(CustomersNode);

        foreach (DataRow dr in CustomerList)
        {
            //  cd.Add(new CustomerData(dr["V_CUST_CODE"].ToString(), dr["V_CUST_NAME"].ToString()));
            XmlNode customerNode = doc.CreateElement("Customer");

            XmlNode V_CUST_CODENode = doc.CreateElement("V_CUST_CODE");
            V_CUST_CODENode.AppendChild(doc.CreateTextNode(dr["V_CUST_CODE"].ToString()));
            customerNode.AppendChild(V_CUST_CODENode);
            XmlNode V_CUST_NAMENode = doc.CreateElement("V_CUST_NAME");
            V_CUST_NAMENode.AppendChild(doc.CreateTextNode(dr["V_CUST_NAME"].ToString()));
            customerNode.AppendChild(V_CUST_NAMENode);
            CustomersNode.AppendChild(customerNode);
        }

        return doc.OuterXml;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM