使用XmlWriter寫入XML

麻了。。整理完了發現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();`
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章