包含属性的 xml 的 MassTransit Xml 反序列化

问题描述 投票:0回答:1

早些时候我问了一个关于如何反序列化 xml 消息的问题(发送机智 ActiveMq)。 我错过了一个事实,即如果包含 MassTransit.NewtonSoft,您可以使用 UseRawXmlSerializer()。

现在我可以反序列化简单的消息,例如:

<event><wqid>1</wqid><event>
[JsonObject("event")]   
public class WorkQueueOrderEvent
{
    [JsonProperty("wqid")]
    public int WorkQueueId { get; set; }
}

问题是我没有得到这种格式的事件。 我收到它是这样的:

<event wqid="22"/>

它确实运行了,但我最终在 WorkQueueId 中得到了 0。

我试过 [XmlAttribute("wqid")] 但没有用。

xml deserialization masstransit
1个回答
0
投票

我找到了解决方案:-) https://www.newtonsoft.com/json/help/html/convertingjsonandxml.htm

xml 属性转换为“@”。 所以我需要做的就是适应:

[JsonObject("event")]   
public class WorkQueueOrderEvent
{
    [JsonProperty("@wqid")]             <====== added @
    public int WorkQueueId { get; set; }
}
© www.soinside.com 2019 - 2024. All rights reserved.