[英]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.