小编eta*_*rvt的帖子

枚举的XML序列化

我在序列化枚举值时遇到问题.

这是代码:

[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public class REQUEST
{
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string ID;

    [System.Xml.Serialization.XmlAttributeAttribute()]
    public REQUESTTypetype Type;
}

public enum REQUESTTypetype
{
    One,
    Two,
    Three,
    Four,
}

...

REQUEST request = new REQUEST();
request.ID = "1234";
request.Type = REQUESTTypetype.One;

XmlDocument doc = new XmlDocument();
MemoryStream ms = new MemoryStream();
StreamWriter sw = new StreamWriter(ms);
XmlSerializer xs = new XmlSerializer(typeof(REQUEST));
xs.Serialize(sw, request_group);
ms.Position = 0;
doc.Load(ms);
TestWriteXml(doc, @"C:\xml_test.xml");
Run Code Online (Sandbox Code Playgroud)

结果是:

<?xml version="1.0" encoding="utf-8" ?> 
<REQUEST ID="1234" />
Run Code Online (Sandbox Code Playgroud)

为什么枚举不是序列化的?我使用.NET Framework …

c# enums xml-serialization

9
推荐指数
2
解决办法
2万
查看次数

用File.CreateText(C#)覆盖文件

我遇到了以下问题.我正在使用.NET Framework 1.1,我正在尝试使用此代码覆盖文件:

        try
        {
            using (StringWriter writer = new StringWriter())
            {
                Server.Execute(path, writer);

                using (StreamWriter sr = File.CreateText(filepath + fileName))
                {
                    sr.WriteLine(writer.ToString());
                }
            }
        }
        catch (Exception exc)
        {
            ...
        }
Run Code Online (Sandbox Code Playgroud)

有时它工作正常,但有时它不会覆盖文件,也不会抛出任何异常.有人可以告诉我问题是什么或如何处理为什么它不会覆盖文件?

c# file overwrite

1
推荐指数
1
解决办法
9193
查看次数

标签 统计

c# ×2

enums ×1

file ×1

overwrite ×1

xml-serialization ×1