ASP.NET编程:C#操纵xml文件进门
有理由相信是能提供更出色的性能。很多平台无法支持复杂的编译器,因此需要二次编译来减少本地编译器的复杂度。当然可能做不到java编译器那么简易。xml已知有一个XML文件(bookstore.xml)以下:<?xmlversion="1.0"encoding="gb2312"?>
<bookstore>
<bookgenre="fantasy"ISBN="2-3631-4">
<title>OberonsLegacy</title>
<author>Corets,Eva</author>
<price>5.95</price>
</book>
</bookstore>
1、往<bookstore>节点中拔出一个<book>节点:
XmlDocumentxmlDoc=newXmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNoderoot=xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
XmlElementxe1=xmlDoc.CreateElement("book");//创立一个<book>节点
xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性
XmlElementxesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS从进门到精晓";//设置文本节点
xe1.AppendChild(xesub1);//增加到<book>节点中
XmlElementxesub2=xmlDoc.CreateElement("author");
xesub2.InnerText="候捷";
xe1.AppendChild(xesub2);
XmlElementxesub3=xmlDoc.CreateElement("price");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3);
root.AppendChild(xe1);//增加到<bookstore>节点中
xmlDoc.Save("bookstore.xml");
//================
了局为:
<?xmlversion="1.0"encoding="gb2312"?>
<bookstore>
<bookgenre="fantasy"ISBN="2-3631-4">
<title>OberonsLegacy</title>
<author>Corets,Eva</author>
<price>5.95</price>
</book>
<bookgenre="李赞红"ISBN="2-3631-4">
<title>CS从进门到精晓</title>
<author>候捷</author>
<price>58.3</price>
</book>
</bookstore>
2、修正节点:将genre属性值为“李赞红“的节点的genre值改成“update李赞红”,将该节点的子节点<author>的文本修正为“亚胜”。
XmlNodeListnodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//猎取bookstore节点的一切子节点
foreach(XmlNodexninnodeList)//遍历一切子节点
{
XmlElementxe=(XmlElement)xn;//将子节点范例转换为XmlElement范例
if(xe.GetAttribute("genre")=="李赞红")//假如genre属性值为“李赞红”
{
xe.SetAttribute("genre","update李赞红");//则修正该属性为“update李赞红”
XmlNodeListnls=xe.ChildNodes;//持续猎取xe子节点的一切子节点
foreach(XmlNodexn1innls)//遍历
{
XmlElementxe2=(XmlElement)xn1;//转换范例
if(xe2.Name=="author")//假如找到
{
xe2.InnerText="亚胜";//则修正
break;//找到加入来就能够了
}
}
break;
}
}
xmlDoc.Save("bookstore.xml");//保留。
//=================
最初了局为:
<?xmlversion="1.0"encoding="gb2312"?>
<bookstore>
<bookgenre="fantasy"ISBN="2-3631-4">
<title>OberonsLegacy</title>
<author>Corets,Eva</author>
<price>5.95</price>
</book>
<bookgenre="update李赞红"ISBN="2-3631-4">
<title>CS从进门到精晓</title>
<author>亚胜</author>
<price>58.3</price>
</book>
</bookstore>
3、删除<bookgenre="fantasy"ISBN="2-3631-4">节点的genre属性,删除<bookgenre="update李赞红"ISBN="2-3631-4">节点。
XmlNodeListxnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;
foreach(XmlNodexninxnl)
{
XmlElementxe=(XmlElement)xn;
if(xe.GetAttribute("genre")=="fantasy")
{
xe.RemoveAttribute("genre");//删除genre属性
}
elseif(xe.GetAttribute("genre")=="update李赞红")
{
xe.RemoveAll();//删除该节点的全体内容
}
}
xmlDoc.Save("bookstore.xml");
//====================
最初了局为:
<?xmlversion="1.0"encoding="gb2312"?>
<bookstore>
<bookISBN="2-3631-4">
<title>OberonsLegacy</title>
<author>Corets,Eva</author>
<price>5.95</price>
</book>
<book>
</book>
</bookstore>
4、显现一切数据。
XmlNodexn=xmlDoc.SelectSingleNode("bookstore");
XmlNodeListxnl=xn.ChildNodes;
foreach(XmlNodexnfinxnl)
{
XmlElementxe=(XmlElement)xnf;
Console.WriteLine(xe.GetAttribute("genre"));//显现属性值
Console.WriteLine(xe.GetAttribute("ISBN"));
XmlNodeListxnf1=xe.ChildNodes;
foreach(XmlNodexn2inxnf1)
{
Console.WriteLine(xn2.InnerText);//显现子节点点文本
}
}
c语言的编译器,几乎是所有新平台都有的。因此从这点上看,c语言的程序,比其他任何语言更加容易跨平台。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境! 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。 在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的 asp.net最主要特性包括:◆编程代码更简洁◆网站可实现的功能更强大◆运行效率高◆节省服务器的动作资源 Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
页:
[1]