我想把这个内容存入MS SQL 2005的XML类型字段,可是报错。<?xml version="1.0" encoding="utf-8"?>
<详细描述> <标题/>
<格式/>
<宽度/>
<高度/>
</详细描述>但是把<?xml version="1.0" encoding="utf-8"?>去掉,光剩下xml片断就可以INSERT了。请问在C#的XmlDocument里如何去掉这个xml声明的节点?不想用InnerXml.Replace之类的字符串替换的方法。谢谢。

解决方案 »

  1.   

    ystem.Xml.XmlDocument d = new System.Xml.XmlDocument();
    d.Load(Server.MapPath("1.xml"));
    Response.Write(Server.HtmlEncode(d.OuterXml));
    Response.Write("<hr>");
    System.Xml.XmlDocument d2 = new System.Xml.XmlDocument();
    d2.LoadXml(d.DocumentElement.OuterXml);
    d2.Save(Server.MapPath("2.xml"));
    Response.Write(Server.HtmlEncode(d2.OuterXml));
      

  2.   

    System.Xml.XmlDocument d = new System.Xml.XmlDocument();
    d.Load(@"C:\Inetpub\wwwroot\1.xml");
    System.Xml.XmlDocument d2 = new System.Xml.XmlDocument();
    d2.LoadXml(d.DocumentElement.OuterXml);
    d2.Save(@"C:\Inetpub\wwwroot\2.xml");
      

  3.   

    下面这种方式更加好:
                XmlWriterSettings settings = new XmlWriterSettings();
                settings.OmitXmlDeclaration = true;//这一句表示忽略xml声明
                settings.Indent = true;
                settings.Encoding = encoding;
                XmlWriter tw = XmlWriter.Create(ms, settings);