如何告诉MessageQueue.SendMessageConnection如何"XMLize"要发送的对象?
How to tell MessageQueue.SendMessageConnection how to "XMLize" the object to be sent?
我在 C# 中使用 System.Messaging.MessageQueue.SendMessageConnection
发送对象,其中包含一些参数,例如:
_sendQueue.Send(myObject, ...);
我的myObject
是一个对象,包含一些属性,比如Field1
。
我正在检查我的消息是如何发送的,使用:
- 计算机管理
- 服务和应用程序
- 消息队列
- 私人队列
- 打开右侧队列,在“队列消息”中,右击勾选“属性”、“正文”。
我看到的标签如下:
<Field1>content_Field1</Field1>
而不是这个,我想看到这样的东西:
<F1>content_Field1</F1>
我的对象中的属性和我想使用的 XML 标签之间是否有简单的映射?
提前致谢
这其实很容易做到。查看 Control XML serialization using attributes :
By default, an XML element name is determined by the class or member name. In a simple class named Book, a field named ISBN will produce an XML element tag , as shown in the following example.
public class Book
{
public string ISBN;
}
// When an instance of the Book class is serialized, it might
// produce this XML:
// <ISBN>1234567890</ISBN>.
This default behavior can be changed if you want to give the element a new name. The following code shows how an attribute enables this by setting the ElementName property of a XmlElementAttribute.
public class TaxRates {
[XmlElement(ElementName = "TaxRate")]
public decimal ReturnTaxRate;
}
- 截至 2017 年 3 月 30 日的 Microsoft 文章,各种作者(我强调)
整篇文章大约需要 6 分钟阅读时间,我真的很推荐它。
我在 C# 中使用 System.Messaging.MessageQueue.SendMessageConnection
发送对象,其中包含一些参数,例如:
_sendQueue.Send(myObject, ...);
我的myObject
是一个对象,包含一些属性,比如Field1
。
我正在检查我的消息是如何发送的,使用:
- 计算机管理
- 服务和应用程序
- 消息队列
- 私人队列
- 打开右侧队列,在“队列消息”中,右击勾选“属性”、“正文”。
我看到的标签如下:
<Field1>content_Field1</Field1>
而不是这个,我想看到这样的东西:
<F1>content_Field1</F1>
我的对象中的属性和我想使用的 XML 标签之间是否有简单的映射?
提前致谢
这其实很容易做到。查看 Control XML serialization using attributes :
By default, an XML element name is determined by the class or member name. In a simple class named Book, a field named ISBN will produce an XML element tag , as shown in the following example.
public class Book
{
public string ISBN;
}
// When an instance of the Book class is serialized, it might
// produce this XML:
// <ISBN>1234567890</ISBN>.
This default behavior can be changed if you want to give the element a new name. The following code shows how an attribute enables this by setting the ElementName property of a XmlElementAttribute.
public class TaxRates {
[XmlElement(ElementName = "TaxRate")]
public decimal ReturnTaxRate;
}
- 截至 2017 年 3 月 30 日的 Microsoft 文章,各种作者(我强调)
整篇文章大约需要 6 分钟阅读时间,我真的很推荐它。