将WCF XML消息写入字典

时间:2012-02-25 20:34:18

标签: xml wcf web-services dictionary

我很擅长使用WCF并尝试处理xml消息。

从我迄今为止经历的情况来看,我通常会收到这样格式的XML。

<data>
  <name>Jim</name>
  <age>28</age>
  <location>London</location>
</data>

然后我会分配每个元素“name”“age”等,如下所示

[DataContract(Namespace="",Name="data")]
public class Data
{
    [DataMember(Name = "name")]
    public string Name;
    [DataMember(Name = "age")]
    public string Age;
    [DataMember(Name = "location")]
    public string Location;

}

但是我正在使用的消息采用以下格式,我不确定如何处理它。

<dict>
  <key>Name</key>
  <string>Jim</string>
  <key>Age</key>
  <string>28</string>
  <key>Location</key>
  <data>London</data>
</dict>

有人能指出我正确的方向吗?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

快速而肮脏的解决方案是从您收到的文档中生成一个新的xml文档,如下所示:

var oldMessage = XDocument.Parse(message_string);
var newMessage = new XDocument(new XElement("data",
    oldMessage.Root.Elements("key").Select(el =>
        new XElement(el.Value.ToLower(), 
            el.ElementsAfterSelf().First().Value))));