C# XML序列化程序文件名
我想将一个对象序列化为xml,并希望xml的文件名是随机的,如下所示 636211ad-ef28-47b9-aa60-207d3fbb9580.xml fc3b491e5-59ac-4f6a-81e5-27e971b903ed.xml 我只是好奇如何做这样的事情?看看System.GuidC# XML序列化程序文件名,c#,.net,xml-serialization,C#,.net,Xml Serialization,我想将一个对象序列化为xml,并希望xml的文件名是随机的,如下所示 636211ad-ef28-47b9-aa60-207d3fbb9580.xml fc3b491e5-59ac-4f6a-81e5-27e971b903ed.xml 我只是好奇如何做这样的事情?看看System.Guid Guid guid = System.Guid.NewGuid(); 看看System.Guid Guid guid = System.Guid.NewGuid(); 可以找到一些封装的序列化的良好描述
Guid guid = System.Guid.NewGuid();
看看System.Guid
Guid guid = System.Guid.NewGuid();
可以找到一些封装的序列化的良好描述 名称似乎是一个Guid,所以只需创建一个新的Guid,将其转换为文本
并将其用作文件名。可以找到带有一些封装的序列化的良好描述
var fileName = String.Format("{0}.xml", System.Guid.NewGuid().ToString());
名称似乎是一个Guid,所以只需创建一个新的Guid,将其转换为文本
并将其用作文件名。下面是一个示例类
var fileName = String.Format("{0}.xml", System.Guid.NewGuid().ToString());
public class TestSerialize
{
public string Test1;
public int Test2;
}
class Program
{
[STAThread]
static void Main()
{
var serializer = new XmlSerializer(typeof(TestSerialize));
using (XmlWriter writer = XmlWriter.Create(Guid.NewGuid() + ".xml"))
{
serializer.Serialize(writer, new TestSerialize() { Test1 = "hello", Test2 = 5 });
}
Console.ReadLine();
}
}
下面是一个示例类
public class TestSerialize
{
public string Test1;
public int Test2;
}
class Program
{
[STAThread]
static void Main()
{
var serializer = new XmlSerializer(typeof(TestSerialize));
using (XmlWriter writer = XmlWriter.Create(Guid.NewGuid() + ".xml"))
{
serializer.Serialize(writer, new TestSerialize() { Test1 = "hello", Test2 = 5 });
}
Console.ReadLine();
}
}
@马特:投票否决你有几个原因:1)XML序列化程序忽略了
Serializable
属性。2) 从.NET 2.0开始,新的XmlTextWriter()已被弃用。改用XmlWriter.Create()
。3) OP提到ASCII编码了吗?@John我更新了我的答案以反映你的评论。我不知道XmlWriter.Create()。从现在起我一定要用它。谢谢您的评论。我将取消否决票,但我建议您使用XmlWriter.Create
而不是XmlTextWriter.Create
@Matt:downvoting,原因如下:1)XML序列化程序忽略Serializable
属性。2) 从.NET 2.0开始,新的XmlTextWriter()已被弃用。改用XmlWriter.Create()
。3) OP提到ASCII编码了吗?@John我更新了我的答案以反映你的评论。我不知道XmlWriter.Create()。从现在起我一定要用它。谢谢你的评论。我将撤销否决票,但我建议你使用XmlWriter.Create
而不是XmlTextWriter.Create
@Development:我几乎否决了你。OP没有问如何进行序列化,只问如何以他喜欢的方式获得文件名。@Development:我几乎否决了你。OP没有问如何进行序列化,只问如何以他喜欢的方式获取文件名。