`

使用 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文件详细介绍

    这个简单的例子展示了如何使用C#中的`XmlTextWriter`类创建XML文件的基本结构。 `XmlTextWriter`类是.NET框架提供的用于生成XML文档的一个强大工具,它允许程序员以流式的方式逐个写出XML元素和属性。这个类提供了...

    C#处理XML的方法

    * 创建XML文件:使用XmlDocument类或XmlTextWriter类可以创建XML文件。 * 修改XML文件:使用XmlNode类或XmlDocument类可以修改XML文件。 六、C#处理XML的优点 使用C#处理XML文件有很多优点,如: * 高效:C#语言...

    C#读写XML文件

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

    C语言实验对xml的操作

    例如,在上面的代码中,我们使用了XmlTextWriter类来创建了一个名为"titles.xml"的XML文件,并写入了根元素"items"和子元素"title"、"author"和"price"。 二、追加数据 在C#中,可以使用XmlDocument类来追加数据到...

    xml实例在C#.net中操作XML实例教程

    以下是如何使用`XmlTextWriter`创建XML文档的示例: ```csharp using System.IO; using System.Text; using System.Xml; // 指定文件路径 string filePath = Server.MapPath("data1.xml"); // 创建 XmlTextWriter...

    C# winfrom操作xml_读写修改xml及写入数据库

    在C#中,我们可以使用`XmlTextWriter`或`XmlDocument`类的`CreateElement`、`AppendChild`等方法来创建新的XML元素,以及修改现有元素。以下是一个示例: ```csharp using System.IO; using System.Xml; // 创建...

    XML格式化(换行,缩进)

    具体而言,通过创建一个XmlDocument对象并加载XML字符串,然后使用XmlTextWriter进行写入操作,并设置Formatting属性为Indented,即可实现XML文档的自动换行和缩进。 以下是对上述代码片段的逐行分析: 1. `string...

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

    XMLWriter是一个JavaScript库,它是对.NET框架中的XMLTextWriter的一个实现,专门为在JavaScript环境中生成XML文档而设计。这个库使得在浏览器端或者Node.js环境中创建、操作和输出XML数据变得更加便捷。XMLWriter的...

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

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

    将数据从DataSet写入XML文件

    使用`FileStream`和`XmlTextWriter`来创建并写入XML文件。通过`WriteXml`方法将`DataSet`中的数据转换为XML格式并写入到文件中。 #### 总结 本篇教程详细介绍了如何将`DataSet`中的数据导出为XML文件的过程。通过...

    XML与DataSet的相互转换类

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

    C#操作XML—VS2008

    在C#中,我们可以使用XmlTextWriter或XmlWriter类来创建XML文档。例如: ```csharp using System.IO; using System.Xml; // 创建一个XmlTextWriter对象 using (XmlTextWriter writer = new XmlTextWriter("data....

    Javascript里使用Dom操作Xml_1.docx

    在ASP.NET环境中,可以使用`XmlTextWriter`创建XML文件,如下所示: ```csharp string str = Server.MapPath("test1.xml"); XmlTextWriter xmlWriter = new XmlTextWriter(str, null); xmlWriter.Formatting = ...

    。net中Xml的使用方法(源代码)

    - `XmlTextWriter`或`XmlWriter`类:用于创建新的XML文档或向已存在的XML文档添加内容。 ```csharp using (XmlWriter writer = XmlWriter.Create("output.xml")) { writer.WriteStartElement("root"); writer....

    使用asp.net(C#)写的XML的读,写,新建的例子

    在C#中,我们通常使用`System.Xml`命名空间下的类来处理XML。读取XML文件,可以使用`XmlDocument`类。首先,我们需要创建一个`XmlDocument`对象,并用`Load`方法加载XML文件: ```csharp using System.Xml; // ...

    c# 操作xml文件方法

    另一种创建XML文件的方式是使用`XmlTextWriter`,它允许更直接地控制XML的输出格式: ```csharp string strFilename = Server.MapPath("data1.xml"); XmlTextWriter xmlWriter = new XmlTextWriter(strFilename, ...

Global site tag (gtag.js) - Google Analytics