0

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() { }
}
4

1 に答える 1

0

以下のコードを使用して問題を解決します。

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;
    }
于 2013-06-21T06:59:11.953 に答える