zoukankan      html  css  js  c++  java
  • 生成不带签名(BOM)的UTF8格式的XML

    生成XML的一种方法如下:

    using System.Xml;
    
    private void SaveXML(string savePath)
    {
        XmlWriterSettings setting = new XmlWriterSettings();
        setting.Indent = true;
        setting.NewLineOnAttributes = false;
        using (XmlWriter writer = XmlWriter.Create(savePath, setting))
        {
            writer.WriteStartDocument();
    
            writer.WriteStartElement("Config");
            
            writer.WriteStartElement("First");
            writer.WriteAttributeString("ID","1");
            writer.WriteEndElement();
    
            writer.WriteEndElement();
    
            writer.WriteEndDocument();
            writer.Flush();
            writer.Close();
        }
    }

    此时生成的XML是带BOM的UTF8编码。

    带BOM的UTF8编码方式下,一个中文占2个字节;不带BOM的UTF8编码方式下,一个中文占3个字节。

    若要生成不带BOM的UTF8格式,添加一行代码即可。

    using System.Xml;
    
    private void SaveXML(string savePath)
    {
        XmlWriterSettings setting = new XmlWriterSettings();
        setting.Indent = true;
        setting.NewLineOnAttributes = false;
        setting.Encoding = new UTF8Encoding(false);
        using (XmlWriter writer = XmlWriter.Create(savePath, setting))
        {
            writer.WriteStartDocument();
    
            writer.WriteStartElement("Config");
            
            writer.WriteStartElement("First");
            writer.WriteAttributeString("ID","1");
            writer.WriteEndElement();
    
            writer.WriteEndElement();
    
            writer.WriteEndDocument();
            writer.Flush();
            writer.Close();
        }
    }
  • 相关阅读:
    js 实现继承的6种方式(逐渐优化)
    http2.0 特性
    http 206请求
    http put post请求区别
    stopPropagation 和stopImmediatePropagation区别
    JavaScript事件流
    BFC特性 形成BFC
    元素高度、宽度获取 style currentStyle getComputedStyle getBoundingClientRect
    三栏布局解决方案
    jquery vue 框架区别
  • 原文地址:https://www.cnblogs.com/hibernation/p/3498191.html
Copyright © 2011-2022 走看看