如何序列化在WebAPI上发布的xml请求

时间:2017-01-06 07:26:25

标签: xml asp.net-web-api xml-serialization xml-deserialization

我有两种类型的请求,在这两种请求中,差异只是根元素,所以我想重用内部内容 这些消息正在发布到Web API端点,因此它们应该自动序列化,但不确定如何实现这一点, 有人可以帮帮我吗?

<Reprocess>
   <request>
     <Title>Mrs</Title>
     <ForeName>Lucy</ForeName>
 </request>
</Reprocess>

<NewApplication>
  <request>
   <Title>Mrs</Title>
   <ForeName>Lucy</ForeName>
  </request>
</NewApplication>

1 个答案:

答案 0 :(得分:0)

首先删除xml的root,然后序列化为内部内容。

            var xmlString1 = "<Reprocess><request><Title>Mrs</Title><ForeName>Lucy</ForeName></request></Reprocess>";
        var xmlString2 = "<NewApplication><request><Title>Mrs</Title><ForeName>Lucy</ForeName></request></NewApplication>";

        XDocument input = XDocument.Load(new StringReader(xmlString1));
        XDocument input2 = XDocument.Load(new StringReader(xmlString2)); ;

        XElement firstChild = input.Root.Elements().First();
        Console.WriteLine(firstChild.ToString());


        XElement firstChild2 = input.Root.Elements().First();
        Console.WriteLine(firstChild2.ToString());

        Console.ReadLine();