序列化字典到XML
问题描述:
我有方法返回字典(键和值是字符串)。我可以如何序列化它? 我试图序列化mydictionary.Key为MSISDN和mydictionary.Value为消息 这是我的XML字符串:序列化字典到XML
<?xml version="1.0" encoding="UTF-8"?>
<request>
<head>
<operation>submit</operation>
<login>login</login>
<password>password</password>
<title>TITLE</title>
<scheduled>2011-10-01 15:40:05</scheduled>
<isbulk>false</isbulk>
<controlid>111</controlid>
</head>
<body> // values from dictionary
<msisdn>333333</msisdn>
<message>message one</message>
</body>
<body>
<msisdn>1111</msisdn>
<message>message two</message>
</body>
</request>
下面类的工作,但我想从词典序列化MessageBodyXmlBodyTagFields体。
#region Message Fields XML
[XmlRoot(ElementName = "request", Namespace = "", IsNullable = false)]
public class MessageBodyXmlRoot
{
[XmlElement("head")]
public MessageBodyXmlFields[] MessageBodyXmlFields { get; set; }
[XmlElement("body")]
public MessageBodyXmlBodyTagFields[] MessageBodyXmlBodyTagFields { get; set; }
}
public class MessageBodyXmlFields
{
[XmlElement("operation")]
public string Operation { get; set; }
[XmlElement("login")]
public string Login { get; set; }
[XmlElement("password")]
public string Password { get; set; }
[XmlElement("title")]
public string Title { get; set; }
[XmlElement("scheduled")]
public string Scheduled { get; set; }
[XmlElement("isbulk")]
public bool Isbulk { get; set; }
[XmlElement("controlid")]
public string Controlid { get; set; }
}
public class MessageBodyXmlBodyTagFields
{
[XmlElement("msisdn")]
public string PhoneNumber { get; set; }
[XmlElement("message")]
public string Message { get; set; }
}
#endregion
谢谢。
答
假设实际已经系列化工作,你只需要一种方法来填充数据:
Dictionry<string, string> tags = SomeMethod();
messageBody.MessageBodyXmlBodyTagFields = tags
.Select(kv => new MessageBodyXmlBodyTagFields
{ PhoneNumber = kv.Key, Message = kv.Value })
.ToArray();
添加更多的内容和要求。不知何故,你已经有了结果?或者是一个规范? – 2014-09-21 15:49:16
是//字典中的值吗?真的是你的xml的一部分吗? – Default 2014-09-21 15:50:00
你说你试图序列化它。当你尝试时发生了什么?你有错误吗?它工作? – Default 2014-09-21 15:51:05