c# - XmlSerializer , base64 编码一个 String 成员

标签 c# xml-serialization

考虑一个简单的案例

public class Test {
  public String myString;
}

有什么方法可以告诉 XmlSerializer 在序列化时对 myString 进行 base64 编码?

最佳答案

您可以简单地将它设置为一个 byte[] 属性,它会自动对其进行 Base64 编码:

public class Test {
  public byte[] MyProperty {get;set;}

  public void SetMyProperty(string text)
  {
      MyProperty = System.Text.Encoding.Unicode.GetBytes(text);
  }
}

Test test = new Test();
test. SetMyProperty("123456789123456789");

输出:

<MyProperty>MQAyADMANAA1ADYANwA4ADkAMQAyADMANAA1ADYANwA4ADkA</MyProperty>

(尝试解码 here )

不幸的是,没有办法(据我所知)将 MyProperty 设为私有(private)并且仍然在 System.Xml.Serialization 中序列化。

关于c# - XmlSerializer , base64 编码一个 String 成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405051/

相关文章:

c# - 如何将 TreeView 序列化为 xml 并将 xml 反序列化回 TreeView?

c# - WCF 服务不喜欢单引号

c# - 根据 ID 从 List<T> 中获取一个元素

c# - 当我的应用程序依赖于 Google 数据 API SDK 时,我可以在 Microsoft Visual # 2010 Express 中创建单个 EXE 吗?

c# - 如何根据索引/行号从DataTable中选择行?

.net - 使用 XmlSeralizer 在 C# 中解析稍微不正常的 XML

c# - XMLSerializer 序列化日期错误 : Is not a valid AllXsd

c# - 在其执行方法中访问 Task 实例

c# - 解析 XML 时阻止 DTD 下载

c# - 水平对齐两个按钮 mvc5 razor c#