Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# xml序列化和编码_C#_.net_Xml Serialization_Xmlserializer - Fatal编程技术网

C# xml序列化和编码

C# xml序列化和编码,c#,.net,xml-serialization,xmlserializer,C#,.net,Xml Serialization,Xmlserializer,我希望xml编码为: <?xml version="1.0" encoding="windows-1252"?> 但我仍然没有得到我预期的编码我错过了什么?请指导我生成编码,如encoding=“windows-1252”。我需要在代码中更改什么?只要将XML直接输出到a(通过a或a),您将始终获得UTF-8或UTF-16编码。这是因为 为了获得正确的编码,您必须切换到二进制输出,例如 下面是一个简单的例子: var settings = new XmlWriterSettings

我希望xml编码为:

<?xml version="1.0" encoding="windows-1252"?>

但我仍然没有得到我预期的编码我错过了什么?请指导我生成编码,如
encoding=“windows-1252”
。我需要在代码中更改什么?

只要将XML直接输出到a(通过a或a),您将始终获得UTF-8或UTF-16编码。这是因为

为了获得正确的编码,您必须切换到二进制输出,例如

下面是一个简单的例子:

var settings = new XmlWriterSettings
{
    Encoding = Encoding.GetEncoding(1252)
};

using (var buffer = new MemoryStream())
{
    using (var writer = XmlWriter.Create(buffer, settings))
    {
        writer.WriteRaw("<sample></sample>");
    }

    buffer.Position = 0;

    using (var reader = new StreamReader(buffer))
    {
        Console.WriteLine(reader.ReadToEnd());
        Console.Read();
    }
}
var设置=新的XmlWriterSettings
{
Encoding=Encoding.GetEncoding(1252)
};
使用(var buffer=new MemoryStream())
{
使用(var writer=XmlWriter.Create(缓冲区、设置))
{
writer.WriteRaw(“”);
}
缓冲器位置=0;
使用(变量读取器=新的流读取器(缓冲区))
{
Console.WriteLine(reader.ReadToEnd());
Console.Read();
}
}
相关资源:

var settings = new XmlWriterSettings
{
    Encoding = Encoding.GetEncoding(1252)
};

using (var buffer = new MemoryStream())
{
    using (var writer = XmlWriter.Create(buffer, settings))
    {
        writer.WriteRaw("<sample></sample>");
    }

    buffer.Position = 0;

    using (var reader = new StreamReader(buffer))
    {
        Console.WriteLine(reader.ReadToEnd());
        Console.Read();
    }
}