使用XmlWriter寫Xml
假定建立了XmlWriter的例項變數xmlWriter,下文中將使用此例項變數寫Xml
1.如何使用XmlWriter寫Xml文件宣告
// WriteStartDocument方法可以接受一個bool引數(表示standalone,是否為獨立文件)或者不指定引數standalone保持預設值 xmlWriter.WriteStartDocument( false | true );
|
注意在使用WriteStartDocument方法後最好呼叫xmlWrite.WriteEndDocument()方法來關閉所有可能未關閉標籤
2.如何使用XmlWriter寫xml節點以及屬性
//寫節點 xmlWriter.WriteStartElement( "cat" ); //給節點新增屬性 xmlWriter.WriteAttributeString( "color" ,
"white" ); //給節點內部新增文字 xmlWriter.WriteString( "I'm a cat" ); xmlWriter.WriteEndElement(); |
或者通過WriteElementString(string,string)方法寫xml節點同時寫下節點值,如下
//通過WriteElementString可以新增一個節點同時新增節點內容 xmlWriter.WriteElementString( "pig" ,
"pig is great" ); |
3.如何寫CData
xmlWriter.WriteStartElement( "dog" ); //寫CData xmlWriter.WriteCData( "<strong>dog is dog</strong>" ); xmlWriter.WriteEndElement(); |
4.如何使用XmlWriter新增註釋
|
5.如何設定XmlWriter的輸出格式,解決輸出UTF-16問題
設定xml輸出格式,需要通過XmlWriterSettings類,如下程式碼
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; |
完整的程式碼示例如下:
/*玉開技術部落格
http://www.cnblogs.com/yukaizhao */ using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Xml; namespace UseXmlWriter { class Program { static void Main( string [] args) { using (MemoryStream ms =
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; using (XmlWriter xmlWriter = XmlWriter.Create(ms, settings)) { //寫xml檔案開始<?xml version="1.0" encoding="utf-8" ?> xmlWriter.WriteStartDocument( false ); //寫根節點 xmlWriter.WriteStartElement( "root" ); //寫位元組點 xmlWriter.WriteStartElement( "cat" ); //給節點新增屬性 xmlWriter.WriteAttributeString( "color" ,
"white" ); //給節點內部新增文字 xmlWriter.WriteString( "I'm a cat" ); xmlWriter.WriteEndElement(); //通過WriteElementString可以新增一個節點同時新增節點內容 xmlWriter.WriteElementString( "pig" ,
"pig is great" ); xmlWriter.WriteStartElement( "dog" ); //寫CData xmlWriter.WriteCData( "<strong>dog is dog</strong>" ); xmlWriter.WriteEndElement(); xmlWriter.WriteEndElement(); xmlWriter.WriteEndDocument(); } //將xml內容輸出到控制檯中 string xml = Encoding.UTF8.GetString(ms.ToArray()); Console.WriteLine(xml); } Console.Read(); } } } |
相關文章
- asp.net教程-C#中使用XML——編寫XMLASP.NETC#XML
- 使用C#讀寫xml檔案C#XML
- C# 讀寫xmlC#XML
- Mybatis去xml化:我再也不想寫xml了MyBatisXML
- C#基礎系列:Linq to Xml讀寫xmlC#XML
- 讀寫iOS XML檔案iOSXML
- JDom讀寫XML(程式碼)XML
- C#不使用DataSet操作XML,XmlDocument讀寫xml所有節點及讀取xml節點的資料總結C#XML
- java學習:使用dom4j讀寫xml檔案JavaXML
- Python xml.etree.ElementTree讀寫xml檔案例項PythonXML
- Android的pull讀寫XMLAndroidXML
- qt 寫入xml檔案例項QTXML
- 菜鳥破解錄(19)之 XMLwriter 1.21 (9千字)XML
- 《手寫Mybatis》第4章:Mapper XML的解析和註冊使用MyBatisAPPXML
- 使用jdom解析XMLXML
- python xml讀取和寫入PythonXML
- 用C#讀寫XML的方法C#XML
- 把list集合的內容寫入到Xml中,通過XmlDocument方式寫入Xml檔案中XML
- 用XML編寫EXCEL檔案,XML的寫法注意事項,可以C#+xslt匯出ExcelXMLExcelC#
- nodejs xmlreader 讀寫xml檔案NodeJSXML
- Mybatis xml特殊符號轉義寫法MyBatisXML符號
- js將xml資料寫入table表格JSXML
- C# - XML讀寫與序列化C#XML
- jQuery 操作 XML(解決大小寫問題)jQueryXML
- Dom4j 讀寫XML簡介XML
- dom4j讀寫xml檔案XML
- java使用sax解析xmlJavaXML
- 使用PHP DOM-XML建立和解析XML檔案 (轉)PHPXML
- XML入門指南(8)使用CSS來顯示XML(轉)XMLCSS
- C#讀寫xml檔案應用案例C#XML
- 使用DocumentBuilderFactory解析XML淺談UIXML
- 使用 Java 解析XML檔案JavaXML
- 使用 Python ElementTree 生成 xmlPythonXML
- python使用SAX解析xmlPythonXML
- T-sql for xml path使用SQLXML
- 使用xml表示程式結構XML
- 使用XML HTTP傳送超長XML表單資料(轉)XMLHTTP
- [xmlbeans]自動生成讀寫xml的java類XMLBeanJava