|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
简单的说:.net只有微软一家在做的,微软也不允许别人跟他做相同的工具,所以他就把需要的工具全部封装在.net的平台上了;而java是公开了。XML是一项抢手的手艺。它之以是可以引发人们的乐趣,一个次要的缘故原由在于它非常的复杂,人们能够很简单地舆解和利用它。每个程序员都能容易地看懂一个XML文件,了解它包括的内容。
.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
写出在称号和文本之间带有空格的处置指令,以下所示:<?nametext?>
假如你关于XML非常熟习,那末你必定能很好的了解下面的这些办法。上面我们将给出一个例子,在这个例子中,我们将先创立一个文档,增加一些元素,然后封闭这个文档。增加了元素后你还能够增加子元素,属性和其他内容。上面的代码就是如许的一个例子,它创立了一个文件名为title的XML文件。
usingSystem;
usingSystem.IO;
usingSystem.Xml;
publicclassSample
{
publicstaticvoidMain()
{
XmlTextWriterwriter=newXmlTextWriter("titles.xml",null);
//写进根元素
writer.WriteStartElement("items");
//到场子元素
writer.WriteElementString("title","UnrealTournament2003");
writer.WriteElementString("title","C&C:Renegade");
writer.WriteElementString("title","Dr.SeusssABC");
//封闭根元素,并誊写停止标签
writer.WriteEndElement();
//将XML写进文件而且封闭XmlTextWriter
writer.Close();
}
}
假如你编译而且实行下面的代码,你将创立这个XML文件,文件中包括以下内容:
<items><title>UnrealTournament2003</title><title>
C&C:Renegade</title><title>Dr.SeusssABC
</title></items>
下面的代码创立了一个名为writer的XmlTextWriter工具。当这个工具被创立时,它被联系关系到一个名为titles.xml的文件。接着,程序创立了一个叫做items的根属性,WriteStartElement办法创立了这个属性的入手下手标签。接上去,程序挪用了WriteElementString办法创立了三个子元素。从下面的代码你还能够看到,这个办法利用第一个参数(在下面的程序中是title)作为元素的标签;利用第二个参数作为元素的值。当你增加了一切的元素后,你必要封闭根元素。这时候你能够挪用WriteEndElement办法封闭谁人比来被翻开的元素;在本例中,这个比来被翻开的元素就是根元素。当一切的数据都已写好,根元素也已封闭时,你能够将信息传送给你的XmlTextWriter。这意味着这时候候你能够挪用Close办法封闭它了。
下面的代码绝对非常的复杂,上面我们看一个利用了XmlTextWriter类中更多办法,功效加倍完美的例子。
usingSystem;
usingSystem.IO;
usingSystem.Xml;
publicclassSample
{
publicstaticvoidMain()
{
XmlTextWriterwriter=newXmlTextWriter("myMedia.xml",null);
//利用主动缩进便于浏览
writer.Formatting=Formatting.Indented;
//誊写根元素
writer.WriteStartElement("items");
//入手下手一个元素
writer.WriteStartElement("item");
//向先前创立的元素中增加一个属性
writer.WriteAttributeString("rating","R");
//增加子元素
writer.WriteElementString("title","TheMatrix");
writer.WriteElementString("format","DVD");
//封闭item元素
writer.WriteEndElement();//封闭元素
//在节点间增加一些空格
writer.WriteWhitespace("
");
//利用原始字符串誊写第二个元素
writer.WriteRaw("<item>"+
"<title>BloodWake</title>"+
"<format>XBox</format>"+
"</item>");
//利用格局化的字符串誊写第三个元素
writer.WriteRaw("
<item>
"+
"<title>UnrealTournament2003</title>
"+
"<format>CD</format>
"+
"</item>
");
//封闭根元素
writer.WriteFullEndElement();
//将XML写进文件并封闭writer
writer.Close();
}
}
下面代码编译运转后将失掉myMedia.xml文件,文件的内容为:
<items>
<itemrating="R">
<title>TheMatrix</title>
<format>DVD</format>
</item>
<item><title>BloodWake</title><format>XBox</format></item>
<item>
<title>UnrealTournament2003</title>
<format>CD</format>
</item>
</items>
下面代码中的正文申明了这个程序的功效是怎样完成的。必要记着的一件事是:当挪用办法入手下手一个操纵时,你必要在程序的符合的中央挪用办法停止这个操纵。比方,你挪用了StartElement,你就必需挪用EndElement封闭元素;固然在这两个挪用之间你也能够到场一个子元素。不管你什么时候挪用EndElement办法,它老是封闭比来利用StartElement办法翻开的谁人元素(这和栈的事情体例很类似)。
利用XmlTextWriter非常的简单,不外我仍是倡议你本人下手尝尝这些代码和办法。你试过今后会发明这些代码可以很简单地集成到你的程序中。你还应当记着,XmlTextWriter仅仅是.NET供应的浩瀚XML类中的一个。和XmlTextWriter一样,其他的XML类也非常的简单利用。
归根到底,Java跨平台可以,但是要重新编写代码,否则还分什么J2EE/J2SE/J2ME呢! |
|