【轉】C# XML序列化去掉XML默認的命名空間及聲明頭

http://blog.csdn.net/aoshilang2249/article/details/44860155spa

 

重點:.net

XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
    namespaces.Add(string.Empty, string.Empty);

 

// 序列化這個對象
int obj = 1;
XmlSerializer serializer = new XmlSerializer(obj.GetType());

// 將對象序列化輸出到文件
FileStream stream = new FileStream("hh.xml", FileMode.Create);

XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
settings.IndentChars = "    ";
settings.NewLineChars = "\r\n";
settings.Encoding = Encoding.UTF8;
//settings.OmitXmlDeclaration = true;  // 不生成聲明頭

using (XmlWriter xmlWriter = XmlWriter.Create(stream, settings))
{
    // 強制指定命名空間,覆蓋默認的命名空間
    XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces();
    namespaces.Add(string.Empty, string.Empty);
    serializer.Serialize(xmlWriter, obj, namespaces);
    xmlWriter.Close();
};
stream.Close();
相關文章
相關標籤/搜索