相关疑难解决方法(0)

XmlSerializer更改编码

我将此代码用于SerializeXML String:

XmlWriterSettings xmlWriterSettings = new XmlWriterSettings
{
    indent = true,
    Encoding = Encoding.UTF8
};

using (var sw = new StringWriter())
{
    using (XmlWriter xmlWriter = XmlWriter.Create(sw, xmlWriterSettings))
    {
        XmlSerializer xmlSerializer = new XmlSerializer(moviesObject.GetType(), new XmlRootAttribute("category"));
        xmlSerializer.Serialize(xmlWriter, moviesObject);
    }
    return sw.ToString();
}
Run Code Online (Sandbox Code Playgroud)

问题是我得到:

<?xml version="1.0" encoding="utf-16"?>
<category xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" havemore="no">
  <items>
    <movie>
      <videoid>videoid1</videoid>
      <title>title1</title>
    </movie>
  </items>
</category>
Run Code Online (Sandbox Code Playgroud)

有什么办法可以改变<?xml version="1.0" encoding="utf-16"?><?xml version="1.0" encoding="utf-8"?>

.net c# xml

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

指定编码XmlSerializer

我已经正确定义了一个类,并在将其序列化为XML后,我没有编码.

如何定义编码"ISO-8859-1"?

这是一个示例代码

var xml = new XmlSerializer(typeof(Transacao));
var file = new FileStream(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "transacao.xml"),FileMode.OpenOrCreate);            
xml.Serialize(file, transacao);            
file.Close();
Run Code Online (Sandbox Code Playgroud)

这是xml生成的开始

<?xml version="1.0"?>
<requisicao-transacao xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <dados-ec>
    <numero>1048664497</numero>
Run Code Online (Sandbox Code Playgroud)

c# xml export-to-xml c#-4.0

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

c#using + XmlWriter.Create ="无法访问已关闭的流."

为什么这样有效:

using (var ms = new MemoryStream())
{
    using (var dummy = new StreamWriter(ms))
    {
        var sw = new StreamWriter(ms);
        sw.WriteLine("Hello World");
        sw.Flush();
        using (StreamReader rdr = new StreamReader(ms))
        {
            ms.Position = 0;
            textBoxExc.Text = rdr.ReadToEnd();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用("无法访问封闭的流."):只有差异var dummy = XmlWriter.Create(ms)而不是var dummy = new StreamWriter(ms)

using (var ms = new MemoryStream())
{
    using (var dummy = XmlWriter.Create(ms))
    {
        var sw = new StreamWriter(ms);
        sw.WriteLine("Hello World");
        sw.Flush();
        using (StreamReader rdr = new StreamReader(ms))
        {
            ms.Position = …
Run Code Online (Sandbox Code Playgroud)

c# silverlight xmlwriter using

7
推荐指数
2
解决办法
4008
查看次数

标签 统计

c# ×3

xml ×2

.net ×1

c#-4.0 ×1

export-to-xml ×1

silverlight ×1

using ×1

xmlwriter ×1