c# - 如何在 C# 中将类成员序列化为 xml 属性

标签 c# xml serialization

我正在尝试将我的对象序列化为 xml。序列化程序看似将所有数据成员序列化为子级,但我想将所有成员序列化为属性,而不是子级。

这是一个代码示例:

[DataContract]
public class MyDataClass
{
  [DataMember]
  int foo = 24;
  [DataMember]
  string bar = "brabrabra";
} 

当我使用 DataContractSerializer 时,这将被序列化为以下 xml:

<MyDataClass xmlns="..." xmlns:i="...">
  <foo>24</foo>
  <bar>brabrabra</bar>
</MyDataClass>

但是,我想以某种方式将其序列化为以下 xml:

<MyDataClass xmlns="..." xmlns:i="..." foo="24" bar="brabrabra" />

有什么办法可以这样序列化吗?或者,我应该编写自己的序列化器来实现它吗? 作为引用,我在此示例中使用 DataContract 序列化器,但我可以将其更改为普通的 XmlSerializer 或其他序列化器(如果有更好的序列化器)。

希望有人知道这一点。

阿基

最佳答案

看看XMLAttribute 。但仅适用于 XMLSerializer。

关于c# - 如何在 C# 中将类成员序列化为 xml 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3922913/

相关文章:

google-chrome - 如何序列化/反序列化Chrome标签(其DOM/RenderTree)?

c# - 如何在C#中序列化一个对象并防止被篡改?

java - Java中存储KeyStore : empty file and unable to reload

c# - 当用户已经登录时,如何重定向到未授权页面而不是登录页面?

c# - 这两个使用 using 关键字的实现之间的差异

c# - 将 Json.Net JValue 转换为 int

c# - 如何从 .NET RegEx 中提取子字符串?

xml - 如何在这里使用 XPath contains()?

c# - 显式和隐式 XML namespace

python - 如何使用lxml查找元素属性