麻了。。整理完了發現XmlWriter不能添加元素,只能重寫,還是得用Xdocument。。好像DOM能實現添加元素
點擊查看代碼
**MemoryStream msXml = new MemoryStream();//創建一個內存流** 不寫入文件時可以寫入內存中,暫用
XmlWriterSettings settings = new XmlWriterSettings();//設置屬性
settings.Indent = true;//要求縮進
//注意如果不設置encoding默認將輸出utf-16
//注意這兒不能直接用Encoding.UTF8如果用Encoding.UTF8將在輸出文本的最前面添加4個字節的非xml內容
settings.Encoding = new UTF8Encoding(false);
settings.NewLineChars = Environment.NewLine;//設置換行符
XmlWriter xmlWriter = XmlWriter.Create(ProductInfoPath, settings); //文件流
XmlWriter xmlWriter = XmlWriter.Create(msXml, settings); //內存流
//寫xml文件開始<?xml version="1.0" encoding="utf-8" ?>
xmlWriter.WriteStartDocument(false);
//寫根節點
xmlWriter.WriteStartElement("ProductInfo");
//寫字節點
xmlWriter.WriteStartElement("Volvo");
xmlWriter.WriteAttributeString("color", "white"); //給節點添加屬性 不建議用屬性
//給節點內部添加文本
xmlWriter.WriteString("Plate");
xmlWriter.WriteEndElement();
//或者通過WriteElementString可以添加一個節點同時添加節點內容
xmlWriter.WriteElementString("BMW", "BMW Plate");
xmlWriter.WriteStartElement("XiaoPeng");
//寫CData ,CData不會被xml解析,所以這裏面可以放任何文本,但是有些字符需要但是不能嵌套CData
xmlWriter.WriteCData("<strong>XiaoPeng<0</strong>");
xmlWriter.WriteEndElement();
xmlWriter.WriteComment("這是一段註釋加一個空 格");//註釋
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();//這個好像沒啥用。。不寫好像也沒啥事
xmlWriter.Flush();
xmlWriter.Close();`