Написать WCF XML-сообщение в словарь - PullRequest
0 голосов
/ 26 февраля 2012

Я очень новичок в использовании 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;

}

Но сообщение, с которым я сейчас работаю, имеет следующий формат, и я не знаю, каксправиться.

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

Кто-нибудь может указать мне правильное направление?

Заранее спасибо.

1 Ответ

0 голосов
/ 26 февраля 2012

Быстрое и грязное решение состоит в том, чтобы сгенерировать новый 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))));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...