`

使用 XmlTextWriter 建立 XML 檔

    博客分类:
  • C#
阅读更多

常見的建立 XML 檔案的方式是使用XmlTextWriter類別。
XmlTextWriter 繼承自 XmlWriter,而 XmlWriter 是抽象類別。

XmlTextWriter常用方法說明如下:
1. WriteStartDocument()
用於寫Xml頭聲明,即

<? xml version = "1.0" encoding = "utf-8" >

,如果使用該函數的重載函數WriteStartDocument(bool standalone),就可以設置聲明的standalone屬性,該屬性表示該xml文檔是否與其他檔獨立,即是否需要單獨聲明節點。

2. WriteEndDocument()
該函數儘管不會向xml檔寫任何文本,但必須在編寫結束時調用,以結束寫過程,它會清空XmlTextWriter中維護的所有堆疊和臨時資訊,類似於Dispose()函數。

3. WriteStartElement()
創建當前節點的一個子節點,通常使用WriteStartElement(string LocalName,string Value),其中LocalName表示節點名稱,value表示節點的InnerText
如:

WriteStartElement( "address" , "Tian Jing Road" );

生成的xml:

< address >Tian Jing Road</ address >

4. WriteEndElement()
一旦使用過一句WriteStartElement()就必須有對應的WriteEndElement(),當WriteEndElement被執行後,當前指向的節點就會轉為父節點,如:

< shop >
     < address >Tian Jing Road</ address >
</ shop >

在執行WriteStartElement(“address”,”Tian Jing Road”)後,當前指向<address>節點,在WriteEndElement被執行後,當前節點指向<shop>節點

5.WriteStartAttribute()與WriteEndAttribute()
與節點創建函數用法相同

6. WriteAttributeString(string LocalName,string value)
該函數用於創建屬性,與WriteStartAttribute()不同的是它不需要EndAttribute(),直接使用就可以了。
但要注意它與WriteStartAttribute生成的xml的不同之處,看下面的例子:

WriteStartElement( "address" ); 
WriteStartAttribute( "state" , "California" );
WriteEndAttribute();
WriteEndElement();

以上程式碼生成的xml:

< address d1p1:state = "" xmlns:d1p1 = "California" />
WriteStartElement( "address" ); 
WriteAttributeString( "state" , "California" );
WriteEndElement();

以上程式碼生成的xml:

< address state = "California" />

也就是說WriteAttributeString生成的是未處理的原始語句,而WriteStartAttribute()生成的是Xml Schema語句

7. WriteElementString(string LocalName, string Value)
與WriteAttributeString的用法相同,其中LocalName為節點名稱,Value為節點的InnerText。

8. WriteString()與WriteRaw()的區別
WriteString(“More >”)生成的Xml是More &gt
WriteRaw(“More >”)生成的xml是More >
也就是說WriteString會把敏感字元轉換為轉義字元,而WriteRaw()則是直接寫入,不做任何處理

9. WriteCData()
該函數是用來寫用CData包裹的字串,在字串中有敏感字元時很有用
WriteCData(“More >”)生成的Xml是

<![CDATA [More >]] >

10. WriteFullEndElement()
該函數用來寫完整的結束標誌,如

< address ></ address >
writer.WriteStartElement( "address" , null );
writer.WriteFullEndElement();

XmlTextWriter 常用屬性說明如下:
1.Formatting 屬性的預設值為 Formatting.None
2.XmlTextWriter.Indentation屬性,表示縮近字元的字元數,當Formatting屬性為Formatting.Indented時,才會生效
3.XmlTextWriter.IndentChar才會生效,IndentChar是縮近字元,一般使用’\t’,當Formatting屬性為Formatting.Indented時,才會生效
4.QuoteChar屬性表示封閉字元,默認為雙引號

Reference:
http://tung.tsu.edu.tw/lecture/vc_net/chp18_xml_2005.doc

 

分享到:
评论

相关推荐

    XML.rar_ XmlTextWriter_NEW_XmlTextWriter_xml_xmlreader

    用C#操作xml xmlFilePath = textBox2.Text FileStream fs = new FileStream(filePath ,FileMode.... XmlTextWriter xmlreader = new XmlTextWriter(xmlFilePath+"IMAGEENCODING.xml" ,System .Text .Encoding .UTF8 )

    xml文件生成类XmlTextWriter的使用

    xml文件生成类XmlTextWriter的使用: &lt;?xml version="1.0" encoding="gb2312"?&gt; &lt;TestID&gt;201603150001 爵士乐 &lt;Name&gt;Cecil Taylor 女 &lt;BirthDate&gt;1988/10/7 &lt;IdNumber&gt;11233219990909999X &lt;Nation&gt;&lt;/...

    C#中XmlTextWriter读写xml文件详细介绍

    .NET中包含了很多支持XML的类,这些类使得程序员使用XML编程就如同理解XML文件一样简单。在这篇文章中,我将给出这样的一个类的使用示例,这个类就是XmlTextWriter类

    C#读写XML文件

    使用Document读取及写入XML方法 使用XmlTextWriter写入XML方法 使用XmlTextReader读取XML方法 作用SqlCommand.ExecuteXmlReader()取得XML

    XMLWriter:基于.NET的XMLTextWriter的Javascript XML生成器

    XMLWriter 关于XMLWriter XMLWriter是基于.NET的XMLTextWriter的Javascript XML生成器。 原始版本已发布在。 它最初在github上发布。

    C#XML入门经典 C#编程人员必备的XML技能.part2

    C# XML入门经典——C#编程人员必备的XML技能 作者:[美]Stewart Fraser, Steven 著,毛尧飞,崔伟 译 出版社:清华大学出版社 出版时间:2003年11月 第1章 在C#中使用XML的原因 &lt;br&gt;1.1 使用XML的原因...

    Asp.net C# XML文件中数据的增删改查

    Asp.net C# XML文件中数据的增删改查 使用了DataSet 和XmlTextWriter 两种方式进行XML数据的操作 很实用

    XmlReader 读取器读取内存流 MemoryStream 的注意事项

     使用MemoryStream和XmlTextWriter进行书写XML,需要注意两点:XmlTextWriter.Flush操作和重设MemoryStream.Position = 0。 C# &lt;&#37;@ Page Language=”C#”%&gt; &lt;&#37;@ Import Namespace=”System....

    C# 写入XML文档三种方法详细介绍

    我在以前的博客中介绍了如何使用XmlDocument类对XML进行操作,以及如何使用LINQ to XML对XML进行操作。它们分别使用了XmlDocument类和XDocument类。在本文中,我再介绍一个类,XmlTextWriter。我们分别用这三个类将...

    asp.net实现在XmlTextWriter中写入一个CDATA的方法

    主要介绍了asp.net实现在XmlTextWriter中写入一个CDATA的方法,结合实例形式分析了XmlTextWriter写入CDATA的步骤与相关实现技巧,需要的朋友可以参考下

    c#设置xml内容不换行及属性xsi:nil=true的空节点添加

    1.设置生成xml的内容格式为不换行 默认用下面代码创建并生成xml的代码如下: 代码如下: XmlDocument doc = new XmlDocument(); //这里为创建节点等代码,省略…. //保存 doc.Save(filename); 结果生成的节点有换行:...

    真实世界的XML:使用.NET框架中集成的读取器和写入

    火龙果软件工程技术中心 本页内容从MSXML到.NET中的XML XML分析模型 XmlReader类 分析属性内容 对XML文本进行操作 字符串和片段 验证读取器 节点读取器 XmlTextWriter类 读取和写入流 设计XmlReadWriter...

    .net读写xml文档详解

    System.Xml包含了一些和XML文档的读写操作相关的类,它们分别是:XmlReader、XmlTextReader、XmlValidatingReader、XmlNodeReader、XmlWriter、XmlTextWriter 以及 XmlNode(它的子类包括:XmlDocument、...

    Xml操作用例

    C#对Xml操作用例,1.直接借助C#包进行操作2.利用简介的Linq操作,当然还有一种方法XmlTextReader和XmlTextWriter(没有进行测试)。

    ASP.NET应用与开发案例教程

    9.3.3XmlTextWriter 9.3.4XMLDOM 9.3.5XmlDataDocument 9.3.6DataSet 9.4小结 9.5习题 第10章WebSeMce 10.1WebService简介 10.2一个简单的WebService程序 10.3WebService支持的数据类型 10.4建立WebService 10.5使用...

    ASP.NET应用开发案例教程

    9.3.3 XmlTextWriter 9.3.4 XML DOM 9.3.5 XmlDataDOcument 9.3.6 DataSet 9.4 小结 9.5 习题 第10章 web service 10.1 Web Service简介 10.2 一个简单的Web Service程序 10.3 Web Service...

    WPF 内置控件默认样式查看程序

    using (System.Xml.XmlTextWriter writer = new System.Xml.XmlTextWriter(aMemoryStream, System.Text.Encoding.UTF8)) { writer.Formatting = System.Xml.Formatting.Indented; System.Windows.Markup....

Global site tag (gtag.js) - Google Analytics