C# 当输入是数组或列表时,如何在c中序列化
我正在使用网络服务发送电子邮件。我已经将xml发送到Web服务,它会处理其余部分 这里是newuseremail,我将电子邮件列表转换为字符串,并将其传递给sendemail方法C# 当输入是数组或列表时,如何在c中序列化,c#,asp.net,serialization,C#,Asp.net,Serialization,我正在使用网络服务发送电子邮件。我已经将xml发送到Web服务,它会处理其余部分 这里是newuseremail,我将电子邮件列表转换为字符串,并将其传递给sendemail方法 string newuseremail= string.Join(",", lstnewuseremail.ToArray()); 所以这里的xml是 <emailRequest> <toaddress>dasd@tg.com,adssd@tg.com</toaddress>
string newuseremail= string.Join(",", lstnewuseremail.ToArray());
所以这里的xml是
<emailRequest>
<toaddress>dasd@tg.com,adssd@tg.com</toaddress>
<subject>Welcome to ASF</subject>
<message />
<username>sda@tg.com</username>
</emailRequest>
我的建议是将列表类型的另一个属性添加到您正在序列化的类中,实现该属性的get,该属性将解析文本到地址并填充列表,使用XmlIgnore属性标记现有到地址,并使用 [XmlElementtoaddress]
public class emailRequest
{
[XmlElement]
public List<string> toAddress { get; set; }
}
您当前的代码有什么问题?到目前为止,您尝试过做什么?查看此MSDN链接并向下滚动到“Serialize ArrayList public List toaddress”部分;这是创建电子邮件内部电子邮件如何创建它没有字符串在中间。你能给我密码吗
public string SendEmail(string newuseremail, string subject, string message, string myemail)
{
string url = "http://localhost:8080/SurelyKnownMediaService/services/service/sendemail/";
emailRequest test = new emailRequest();
string[] email = newuseremail.Split(',');
foreach (string word in email)
{
test.toaddress = Convert.ToString(word);
}
test.subject = subject;
test.message = message;
test.username = myemail;
//serialize the inputs
String XML;
XML = SerializeAnObject(test);
return HttpPost(XML, url);
}
public class emailRequest
{
[XmlElement]
public List<string> toAddress { get; set; }
}