考虑一个简单的案例
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/