`

使用 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

    从数据库中读取数据自动生成XML

    最后,我们可以使用 XmlTextWriter 对象来将更新后的 XML 文件保存到服务器上。 ASP.NET 对 XML 的增删改查 在 ASP.NET 中,我们可以使用 XmlDocument 对象来实现 XML 文件的增删改查操作。 * 增加节点:使用 Xml...

    XML与DataSet的相互转换类

    在将DataSet对象转换为xml文件时,我们首先创建一个XmlTextWriter对象,然后使用DataSet对象的WriteXml方法将DataSet对象转换为xml文件。 XmlDatasetConvert类提供了四种方法用于将xml对象内容字符串、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使用...

Global site tag (gtag.js) - Google Analytics