我有两种类型的请求,在这两种请求中,差异只是根元素,所以我想重用内部内容 这些消息正在发布到Web API端点,因此它们应该自动序列化,但不确定如何实现这一点, 有人可以帮帮我吗?
<Reprocess>
<request>
<Title>Mrs</Title>
<ForeName>Lucy</ForeName>
</request>
</Reprocess>
<NewApplication>
<request>
<Title>Mrs</Title>
<ForeName>Lucy</ForeName>
</request>
</NewApplication>
答案 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();