在我提出有关存储数据的问题后,有人建议我可以使用 XML,然后通过使用 Base64 对其进行编码来混淆文件。很喜欢这个思路,用XML实现了我想要的,但是不知道怎么用Base64保存。到目前为止,这是我的代码:
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter write = XmlWriter.Create("C:\\Users\\Andy\\Desktop\\database.xml", settings);
write.WriteStartDocument();
write.WriteStartElement("Database");
write.WriteStartElement("Entry");
write.WriteAttributeString("key", "value");
write.WriteEndElement();
write.WriteEndElement();
write.Flush();
write.Close();
最佳答案
这样写:
var sb = new StringBuilder();
var settings = new XmlWriterSettings();
//..settings
using (var writer = XmlWriter.Create(sb, settings))
{
//...
}
//http://stackoverflow.com/questions/1564718/using-stringwriter-for-xml-serialization
var encoding = new UnicodeEncoding();
string s = Convert.ToBase64String(encoding.GetBytes(sb.ToString()));
File.WriteAllText("c:\temp.txt", s);
阅读:
string readText = File.ReadAllText("c:\temp.txt");
byte[] toDecodeByte = Convert.FromBase64String(readText);
using (var stream = new MemoryStream(toDecodeByte))
{
using (XmlReader reader = XmlReader.Create(stream))
{
//.. read your xml
}
}
关于c# - 以 Base64 编码写入 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17835928/