日期:2014-05-17  浏览次数:20419 次

怎么用代码修改XML里的encoding?
我想做一个XML的站点地图,
代码如下

        private void WriteXML()
        {
            path = Server.MapPath(@"\SiteMap\SiteMap.xml");
            //存放XML文件的位置
            x = new XmlTextWriter(path, null);
            
            //开始写XML文档
            x.WriteStartDocument();

            //标签
            x.WriteStartElement("urlset");

            // 写入一个元素 
            x.WriteStartElement("url");
            x.WriteString("testB");
            x.WriteEndElement();

            x.WriteStartElement("priority");
            x.WriteString("0.8");
            x.WriteEndElement();

            x.WriteEndElement();

            // 写XML结束
            x.WriteEndDocument();
            x.Close();
            
        }


生成后的XML头部默认是不带编码的
<?xml  version="1.0"?>
我想问问怎么才能在这个标签上添加encoding属性
<?xml  version="1.0" encoding="utf-8"?>

------解决方案--------------------
 var x = new XmlTextWriter(path, Encoding.UTF8);