.NET中包括了许多支撑XML的类,这些类使得顺序员运用XML编程就如同明白XML文件一样简朴。在这篇文章中,我将给出如许的一个类的运用示例,这个类就是XmlTextWriter类。
XmlTextWriter类许可你将XML写到一个文件中去。这个类包括了许多要领和属性,运用这些属性和要领能够使你更轻易地处置惩罚XML。为了运用这个类,你必需起首建立一个新的XmlTextWriter对象,然后你能够将XML片段到场到这个对象中。这个类中包括了不少的要领用于将各种类型的XML元素增加到XML文件中,下表给出了这些要领的名字和形貌状况:
要领
形貌
WriteStartDocument
誊写版本为“1.0”的 XML 声明
WriteEndDocument
封闭任何翻开的元素或属性
Close
封闭流
WriteDocType
写出具有指定称号和可选属性的 DOCTYPE 声明
WriteStartElement
写出指定的最先标记
WriteEndElement
封闭一个元素
WriteFullEndElement
封闭一个元素,而且老是写入完全的完毕标记
WriteElementString
写出包括字符串值的元素
WriteStartAttribute
誊写属性的肇端内容
WriteEndAttribute
封闭上一个 WriteStartAttribute 挪用
WriteRaw
手动誊写原始标记
WriteString
誊写一个字符串
WriteAttributeString
出具有指定值的属性
WriteCData
写出包括指定文本的 <![CDATA[...]]> 块
WriteComment
写出包括指定文本的解释 <!--...-->
WriteWhiteSpace
写出给定的空缺
WritePRocessingInstruction
写出在称号和文本之间带有空格的处置惩罚指令,以下所示:<?name text?>
假如你关于XML非常熟习,那末你一定能很好的明白上面的这些要领。下面我们将给出一个例子,在这个例子中,我们将先建立一个文档,增加一些元素,然后封闭这个文档。增加了元素后你还能够增加子元素,属性和其他内容。下面的代码就是如许的一个例子,它建立了一个文件名为title的XML文件。
using System; using System.IO; using System.Xml; public class Sample { public static void Main() { XmlTextWriter writer = new XmlTextWriter("titles.xml", null); //写入根元素 writer.WriteStartElement("items"); //到场子元素 writer.WriteElementString("title", "Unreal Tournament 2003"); writer.WriteElementString("title", "C&C: Renegade"); writer.WriteElementString("title", "Dr. Seuss's ABC"); //封闭根元素,并誊写完毕标签 writer.WriteEndElement(); //将XML写入文件而且封闭XmlTextWriter writer.Close(); } }
假如你编译而且实行上面的代码,你将建立这个XML文件,文件中包括以下内容:
<items> <title>Unreal Tournament 2003</title> <title>C&C: Renegade</title> <title>Dr. Seuss's ABC</title> </items>
上面的代码建立了一个名为writer的XmlTextWriter对象。当这个对象被建立时,它被关联到一个名为titles.xml的文件。接着,顺序建立了一个叫做items的根属性,WriteStartElement要领建立了这个属性的最先标签。接下来,顺序挪用了WriteElementString要领建立了三个子元素。从上面的代码你还能够看到,这个要领运用第一个参数(在上面的顺序中是title)作为元素的标签;运用第二个参数作为元素的值。当你增加了一切的元素后,你须要封闭根元素。这时候你能够挪用WriteEndElement要领封闭谁人近来被翻开的元素;在本例中,这个近来被翻开的元素就是根元素。当一切的数据都已写好,根元素也已封闭时,你能够将信息传送给你的XmlTextWriter。这意味着这时候候你能够挪用Close要领封闭它了。
上面的代码相对非常的简朴,下面我们看一个运用了XmlTextWriter类中更多要领,功用越发完美的例子。
using System; using System.IO; using System.Xml; public class Sample { public static void Main() { XmlTextWriter writer = new XmlTextWriter("myMedia.xml", null); //运用自动缩进便于浏览 writer.Formatting = Formatting.Indented; //誊写根元素 writer.WriteStartElement("items"); //最先一个元素 writer.WriteStartElement("item"); //向先前建立的元素中增加一个属性 writer.WriteAttributeString("rating", "R"); //增加子元素 writer.WriteElementString("title", "The Matrix"); writer.WriteElementString("format", "DVD"); //封闭item元素 writer.WriteEndElement(); // 封闭元素 //在节点间增加一些空格 writer.WriteWhitespace("\n"); //运用原始字符串誊写第二个元素 writer.WriteRaw("<item>" + "<title>BloodWake</title>" + "<format>XBox</format>" + "</item>"); //运用格式化的字符串誊写第三个元素 writer.WriteRaw("\n <item>\n" + " <title>Unreal Tournament 2003</title>\n" + " <format>CD</format>\n" + " </item>\n"); // 封闭根元素 writer.WriteFullEndElement(); //将XML写入文件并封闭writer writer.Close(); } }
上面代码编译运转后将获得myMedia.xml文件,文件的内容为: <items>
<item rating="R"> <title>The Matrix</title> <format>DVD</format> </item> <item> <title>BloodWake</title> <format>XBox</format> </item> <item> <title>Unreal Tournament 2003</title> <format>CD</format> </item> </items>
上面代码中的解释说清楚明了这个顺序的功用是怎样完成的。须要记着的一件事是:当挪用要领最先一个操纵时,你须要在顺序的适宜的处所挪用要领完毕这个操纵。比方,你挪用了StartElement,你就必需挪用EndElement封闭元素;当然在这两个挪用之间你也能够到场一个子元素。不管你什么时候挪用EndElement要领,它老是封闭近来运用StartElement要领翻开的谁人元素(这和栈的工作方式很类似)。
运用XmlTextWriter非常的轻易,不过我照样发起你本身着手尝尝这些代码和要领。你试过今后会发明这些代码能够很轻易地集成到你的顺序中。你还应该记着,XmlTextWriter仅仅是.NET供应的浩瀚XML类中的一个。和XmlTextWriter一样,其他的XML类也非常的轻易运用
以上就是.NET中誊写XML的一种简朴要领的内容,更多相关内容请关注ki4网(www.ki4.cn)!