c# - xml序列化同时指定xmlelement和xmlattribute

标签 c# .net xml-serialization

给定:-

[XmlRoot("Book")]
public class Book
{
   [XmlAttribute]
   public string Title;

   [XmlElement]
   public string Publisher;

   [XmlElement]
   public string PublisherReference;
}

当序列化为 XML 时会给出

<Book Title="My Book">
   <Publisher>Some Publisher</Publisher>
   <PublisherReference>XYZ123</PublisherReference>
</Book>

我怎样才能将 PublisherReference 作为 Publisher 的属性 - 例如

<Book Title="My Book">
   <Publisher Reference="XYZ123">Some Publisher</Publisher>
</Book>

最佳答案

[XmlRoot("Book")]
public class Book
{
   [XmlAttribute]
   public string Title;

   [XmlElement]
   public Publisher Publisher;
}

[Serializable]
public class Publisher
{
  [XmlText]
  public string Value;

  [XmlAttribute]
  public string Reference;
}

关于c# - xml序列化同时指定xmlelement和xmlattribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3823544/

相关文章:

c# - 带有 Rfc2898DeriveBytes 的 PBKDF2 为相同的输入产生不同的输出?

c++ - 需要 C++ 函数的帮助来解析/显示 XML 序列化

c# - 更改 ComboBox 的验证样式 WPF

c# - MVC4 - Razor - 动态模块内容?

c# - 如何模拟引用私有(private)对象实例的 .NET 代码?

.net - 更新 Entity Framework 中的数据库架构

android - 无法在 Android XmlSerializer 中设置默认命名空间

c# - C#解析XML数据并显示到ListBox

c# - 从 C# 中的字符串调用表单

c# - 如何在C#中获取Ms Access表的主键