2012-02-25 52 views
0

我很新,使用WCF和IM試圖處理XML消息。寫WCF XML消息到詞典

從我到目前爲止所經歷的情況來看,我通常會收到XML格式化。

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

,那麼我會分配給每個元素「名」「年齡」等類似下面

[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; 

} 

但該消息目前即時通訊與工作是按以下格式和IM不知道該如何處理它。

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

任何人都可以指向正確的方向嗎?

預先感謝您。

回答

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))));