求一Asp.net+XMl的程序代码(最后简单一点,比如一个留言板),谢谢。。 我也想要[email protected]thanks 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 二楼的兄弟,我也要一个,[email protected],先谢了 给我一个吧[email protected]谢谢 Sunmast(速马) ( ) : 你好,你给的这个连接我看了,好象有错呀。还有能不能给份给我看看呀,十分感激 已发,请收,这个我是从清华大学出版社那里下载的,是《XML网页制作实作教程》上的一个例子,程序肯定不会错的 不过,我这里在登陆时候出现错误,错误信息是:对路径“F:\www.17t8.com\chatbase\onlineuser.xml”的访问被拒绝错误地方是:行 103: xmldoc.Save(Server.MapPath("/chatbase/onlineuser.xml"));不知何故,lsh22 (老婆,为了你我要学java) 你试试看,咱们交流交流 OK,试了告诉我结果还有如果你没学过XML的话,建议你去买《XML网页制作实作教程》这本书,入门真的不错 Visual C#的Web XML编程转贴:chi0591 日期:2003-12-08 人气:20 由于XML的易共享性等众多优点,XML技术越来越多地被应用于企业数据处理等领域,如应用于企业报表、新闻发布、会计数据处理等等。 XML正快速成为从中间层传送数据到桌面的工具,由于XML的数据可以通过中间层代理与多种后端(数据库)源集成,目前绝大多数数据库制造商已全面支持XML技术,提供了各种强大功能处理XML数据。 Microsoft的.NET围绕XML这一核心提供了一个强大而快速的开发工具——C#,它具有前所未有的高开发效率,特别是在XML编程方面。 C#提供了许多相关类处理XML数据,如处理stream的类: XmlReader和XmlWriter; DOM的类:XmlNode、XmlDocument和XmlElement等; Xpath的类:XmlNavigator;XSLT的类:XslTransform。 显示XML文件内容 用C#编程实现显示XML文件中信息的方法是使用.NET提供的标准类把XML文件内容读入一个StreamReader类对象中,再用XmlDataDocument类的DataSet读XML的方法去读XML信息到DataSet中,DataSet再以DataView的方式赋给一个Web Form上的DataGrid,最后由DataBind显示数据,具体实现代码如下: using System.Xml; //处理XML必须加的Namespace,还需在References中加System.XML.Dll using System.IO; //读XML文件必须加的Namespace 然后在Page_Load中加入如下代码: protected void Page_Load(object sender, EventArgs e){ string datafile="guest.xml" ; //假设XML文件名为guest.xml StreamReader tyj=new StreamReader(Server.MapPath(datafile)); XmlDataDocument datadoc = new XmlDataDocument(); //创建该对象为了读取XML datadoc.DataSet.ReadXml(tyj); //读取guest.xml文件内容 DataGrid1.DataSource = datadoc.DataSet.Tables[0].DefaultView; //设置DataGrid数据源 DataGrid1.DataBind(); //绑定 datadoc=null ; //释放资源 tyj.Close();} //释放StreamReader类,这非常重要,否则下次打开会显示文件已经被使用 对应于显示用的Web Form中DataGrid的功能,我们需要增加下面的函数: protected void OnSelectName(object sender,EventArgs e) { Session["select_name"]=(string)DataGrid1.SelectedItem.Cells[1].Text.ToString(); //把选定的 DataGrid某行中的一个单元中的值(Name)存入一个会话变量中,以便下一页用 Response.Redirect("xml_manage.aspx");} //转到有增加删除功能的管理页 Web Form加入以下代码: <asp:DataGrid id=DataGrid1 runat="server" onselectedindexchanged="OnSelectName" > <property name="Columns"> <asp:buttoncolumn Text="选择" commandname="Select" /> </property> 代码的作用是当按了“选择”按钮后,执行OnSelectName()中的程序,把选定的 DataGrid中某行中的一个单元中的值(Name)存入一个会话变量中,然后转到下一页。 增加XML文件内容 在Web Form中增加相应的几个TextBox和一个用于提交的Button,如本文附图所示,并为这button增加如下代码: string datafile = "guest.xml" ;XmlDocument xmldocument = new XmlDocument() ; xmldocument.Load(Server.MapPath(datafile)) ; //把guest.xml读到xmldocument中 DocumentNavigator navigator = new DocumentNavigator(xmldocument) ; //最重要的类 navigator.MoveToDocumentElement() ; navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Element, "Guest","","") ;//插入节点Guest navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Element, "Name","","") ; navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Text,"Name","","") ; navigator.Value=Name.Text ; //为该节点赋值 navigator.MoveToParent() ; //返回父节点 Guest …… //使用同类语句,在元素Name下插入另一些元素如Country、E-mail地址和留言等 xmldocument.Save(Server.MapPath(datafile)); //最后保存这个XML文档 navigator=null ; xmldocument=null ; //释放XML文档,这样其他程序可以用它 上述代码使用DocumentNavigator类增加元素和内容,注意使用后要释放资源。 删除XML文件内容 删除选定记录,对于你上面选择的节点,下面代码可查找到该节点并清除选中的信息: string datafile = "guest.xml" ; XmlDocument xmldocument = new XmlDocument() ; xmldocument.Load(Server.MapPath(datafile)) ; //把guest.xml读到xmldocument中 DocumentNavigator navigator = new DocumentNavigator(xmldocument) ; navigator.MoveToDocumentElement() ; navigator.Select("/Guests/Guest[Name='"+Session["select_name"]+"']"); //参数是Xpath navigator.RemoveSelected(); //执行删除 xmldocument.Save(Server.MapPath(datafile)); //最后保存这个XML文档 navigator=null; //释放类 xmldocument=null ; //释放XML文档,这样其他程序可以用它 如需将XML文件中所有信息清除,使用“navigator.RemoveChildren();”语句即可实现。 结 论 综上可知,C#编写XML应用程序不但快捷而且方便,在编写ASP.NET数据库应用程序时,用XML文件替代一些小的Table,能减少许多数据库存取连接,也能让其他网络程序更易使用这些数据。 目前XML的主要瓶颈在于文件系统的读出或写入,故应使用更多内存和缓存方式,如果信息量不是巨大无比且修改量也较小,而浏览量巨大的话,使用XML方法将是很好的选择;相反,如数据量巨大,应考虑使用支持XML的数据库,无论你使用ADO+连接其他数据库,还是使用SQL server,C#中都有直接的类函数可让这些数据库中的信息直接和XML交互访问。 你好.能不能给我一份,谢谢[email protected] 资源共享!资源共享!资源共享!资源共享!资源共享!资源共享!<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="WebApp1.WebForm2" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ><HTML> <HEAD> <title>WebForm2</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <asp:TextBox id="Name" style="Z-INDEX: 101; LEFT: 310px; POSITION: absolute; TOP: 93px" runat="server"></asp:TextBox> <asp:TextBox id="Email" style="Z-INDEX: 102; LEFT: 310px; POSITION: absolute; TOP: 132px" runat="server"></asp:TextBox> <asp:TextBox id="Homepage" style="Z-INDEX: 103; LEFT: 310px; POSITION: absolute; TOP: 174px" runat="server"></asp:TextBox> <asp:TextBox id="Country" style="Z-INDEX: 104; LEFT: 310px; POSITION: absolute; TOP: 220px" runat="server"></asp:TextBox> <asp:TextBox id="Comments" style="Z-INDEX: 105; LEFT: 310px; POSITION: absolute; TOP: 259px" runat="server" TextMode="MultiLine"></asp:TextBox> <asp:Button id="Button1" style="Z-INDEX: 106; LEFT: 340px; POSITION: absolute; TOP: 317px" runat="server" Text="留言"></asp:Button> <asp:Button id="Button2" style="Z-INDEX: 107; LEFT: 416px; POSITION: absolute; TOP: 317px" runat="server" Text="查看"></asp:Button> </form> </body></HTML>using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;using System.Xml;using System.Xml.Xsl;using System.Xml.XPath;namespace WebApp1{ /// <summary> /// WebForm2 的摘要说明。 /// </summary> public class WebForm2 : System.Web.UI.Page { protected System.Web.UI.WebControls.TextBox Name; protected System.Web.UI.WebControls.TextBox Email; protected System.Web.UI.WebControls.TextBox Homepage; protected System.Web.UI.WebControls.TextBox Country; protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.WebControls.Button Button2; protected System.Web.UI.WebControls.TextBox Comments; private void Page_Load(object sender, System.EventArgs e) { } #region Web 窗体设计器生成的代码 override protected void OnInit(EventArgs e) { // // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// <summary> /// 设计器支持所需的方法 - 不要使用代码编辑器修改 /// 此方法的内容。 /// </summary> private void InitializeComponent() { this.Button1.Click += new System.EventHandler(this.Button1_Click); this.Button2.Click += new System.EventHandler(this.Button2_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void Button1_Click(object sender, System.EventArgs e) { try { XmlDocument doc=new XmlDocument(); doc.Load(Request.MapPath("gbook.xml")); XmlDocumentFragment newVisitor=doc.CreateDocumentFragment(); newVisitor.InnerXml="<entry date=\"" + DateTime.Now +"\">\r\n" + "\t<name>"+Name.Text+"</name>\r\n" + "\t<email>" +Email.Text +"</email>\r\n" | "\t<homepage>" +Homepage.Text+"</homepage>\r\n" + "\t<country>" + Country.Text+"</country>\r\n"+ "\t,comment>" +"<![CDATA["+Comments.Text+"]]></comment>\r\n" + "</entry>\r\n"; XmlElement root=doc.DocumentElement; root.AppendChild(newVisitor); doc.Save(Request.MapPath("gbook.xml")); Name.Text=""; Email.Text=""; Homepage.Text=""; Country.Text=""; Comments.Text=""; } catch(Exception error) { Response.Write(error); } } private void Button2_Click(object sender, System.EventArgs e) { try { XmlDocument doc=new XmlDocument(); doc.LastChild(Request.MapPath("gbook.xml")); XslTransform tr=new XslTransform(); tr.Load(Request.MapPath("gbook.xsl")); DocumentNavigator nav=new DocumentNavigator(doc); tr.Transform(nav,null,Response.Output); } catch(System.Exception error) { Response.Write(error); } } }} 我也要 [email protected] 防注入 .net mvc中的一个control走了2遍会是什么原因造成的? WEB控件中脚本问题 TreeView控件只触发一次事件 Session传递变量问题(在线等) www.vwdhosting.net申请了一个空间,但不懂怎用? 奇怪的服务器问题 动网.NET论坛和DISCUZ!NT论坛哪个好? MasterPage使用后出现的问题 如何利用vb.net和c#的类与继承机制编写程序,如论坛,聊天室,商城等? 问一下大侠们 如何将web服务器上生成的文件下载到客户机上 30分问c#里面的时间加减问题
[email protected]
谢谢
对路径“F:\www.17t8.com\chatbase\onlineuser.xml”的访问被拒绝
错误地方是:
行 103: xmldoc.Save(Server.MapPath("/chatbase/onlineuser.xml"));
不知何故,
lsh22 (老婆,为了你我要学java) 你试试看,咱们交流交流
由于XML的易共享性等众多优点,XML技术越来越多地被应用于企业数据处理等领域,如应用于企业报表、新闻发布、会计数据处理等等。 XML正快速成为从中间层传送数据到桌面的工具,由于XML的数据可以通过中间层代理与多种后端(数据库)源集成,目前绝大多数数据库制造商已全面支持XML技术,提供了各种强大功能处理XML数据。 Microsoft的.NET围绕XML这一核心提供了一个强大而快速的开发工具——C#,它具有前所未有的高开发效率,特别是在XML编程方面。 C#提供了许多相关类处理XML数据,如处理stream的类: XmlReader和XmlWriter; DOM的类:XmlNode、XmlDocument和XmlElement等; Xpath的类:XmlNavigator;XSLT的类:XslTransform。 显示XML文件内容
用C#编程实现显示XML文件中信息的方法是使用.NET提供的标准类把XML文件内容读入一个StreamReader类对象中,再用XmlDataDocument类的DataSet读XML的方法去读XML信息到DataSet中,DataSet再以DataView的方式赋给一个Web Form上的DataGrid,最后由DataBind显示数据,具体实现代码如下: using System.Xml;
//处理XML必须加的Namespace,还需在References中加System.XML.Dll
using System.IO;
//读XML文件必须加的Namespace 然后在Page_Load中加入如下代码: protected void Page_Load(object sender, EventArgs e){
string datafile="guest.xml" ;
//假设XML文件名为guest.xml
StreamReader tyj=new StreamReader(Server.MapPath(datafile));
XmlDataDocument datadoc = new XmlDataDocument();
//创建该对象为了读取XML
datadoc.DataSet.ReadXml(tyj);
//读取guest.xml文件内容
DataGrid1.DataSource = datadoc.DataSet.Tables[0].DefaultView;
//设置DataGrid数据源
DataGrid1.DataBind();
//绑定
datadoc=null ;
//释放资源
tyj.Close();}
//释放StreamReader类,这非常重要,否则下次打开会显示文件已经被使用 对应于显示用的Web Form中DataGrid的功能,我们需要增加下面的函数: protected void OnSelectName(object sender,EventArgs e) {
Session["select_name"]=(string)DataGrid1.SelectedItem.Cells[1].Text.ToString();
//把选定的 DataGrid某行中的一个单元中的值(Name)存入一个会话变量中,以便下一页用
Response.Redirect("xml_manage.aspx");}
//转到有增加删除功能的管理页 Web Form加入以下代码: <asp:DataGrid id=DataGrid1 runat="server" onselectedindexchanged="OnSelectName" >
<property name="Columns">
<asp:buttoncolumn Text="选择" commandname="Select" />
</property> 代码的作用是当按了“选择”按钮后,执行OnSelectName()中的程序,把选定的 DataGrid中某行中的一个单元中的值(Name)存入一个会话变量中,然后转到下一页。 增加XML文件内容
在Web Form中增加相应的几个TextBox和一个用于提交的Button,如本文附图所示,并为这button增加如下代码: string datafile = "guest.xml" ;XmlDocument xmldocument = new XmlDocument() ;
xmldocument.Load(Server.MapPath(datafile)) ;
//把guest.xml读到xmldocument中
DocumentNavigator navigator = new DocumentNavigator(xmldocument) ;
//最重要的类
navigator.MoveToDocumentElement() ;
navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Element, "Guest","","") ;//插入节点Guest
navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Element, "Name","","") ;
navigator.Insert(System.Xml.TreePosition.FirstChild, XmlNodeType.Text,"Name","","") ;
navigator.Value=Name.Text ;
//为该节点赋值
navigator.MoveToParent() ;
//返回父节点 Guest
……
//使用同类语句,在元素Name下插入另一些元素如Country、E-mail地址和留言等
xmldocument.Save(Server.MapPath(datafile));
//最后保存这个XML文档
navigator=null ;
xmldocument=null ;
//释放XML文档,这样其他程序可以用它 上述代码使用DocumentNavigator类增加元素和内容,注意使用后要释放资源。 删除XML文件内容
删除选定记录,对于你上面选择的节点,下面代码可查找到该节点并清除选中的信息: string datafile = "guest.xml" ;
XmlDocument xmldocument = new XmlDocument() ;
xmldocument.Load(Server.MapPath(datafile)) ;
//把guest.xml读到xmldocument中
DocumentNavigator navigator = new DocumentNavigator(xmldocument) ;
navigator.MoveToDocumentElement() ;
navigator.Select("/Guests/Guest[Name='"+Session["select_name"]+"']");
//参数是Xpath
navigator.RemoveSelected();
//执行删除
xmldocument.Save(Server.MapPath(datafile));
//最后保存这个XML文档
navigator=null;
//释放类
xmldocument=null ;
//释放XML文档,这样其他程序可以用它 如需将XML文件中所有信息清除,使用“navigator.RemoveChildren();”语句即可实现。 结 论
综上可知,C#编写XML应用程序不但快捷而且方便,在编写ASP.NET数据库应用程序时,用XML文件替代一些小的Table,能减少许多数据库存取连接,也能让其他网络程序更易使用这些数据。 目前XML的主要瓶颈在于文件系统的读出或写入,故应使用更多内存和缓存方式,如果信息量不是巨大无比且修改量也较小,而浏览量巨大的话,使用XML方法将是很好的选择;相反,如数据量巨大,应考虑使用支持XML的数据库,无论你使用ADO+连接其他数据库,还是使用SQL server,C#中都有直接的类函数可让这些数据库中的信息直接和XML交互访问。
<%@ Page language="c#" Codebehind="WebForm2.aspx.cs" AutoEventWireup="false" Inherits="WebApp1.WebForm2" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm2</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:TextBox id="Name" style="Z-INDEX: 101; LEFT: 310px; POSITION: absolute; TOP: 93px" runat="server"></asp:TextBox>
<asp:TextBox id="Email" style="Z-INDEX: 102; LEFT: 310px; POSITION: absolute; TOP: 132px" runat="server"></asp:TextBox>
<asp:TextBox id="Homepage" style="Z-INDEX: 103; LEFT: 310px; POSITION: absolute; TOP: 174px"
runat="server"></asp:TextBox>
<asp:TextBox id="Country" style="Z-INDEX: 104; LEFT: 310px; POSITION: absolute; TOP: 220px" runat="server"></asp:TextBox>
<asp:TextBox id="Comments" style="Z-INDEX: 105; LEFT: 310px; POSITION: absolute; TOP: 259px"
runat="server" TextMode="MultiLine"></asp:TextBox>
<asp:Button id="Button1" style="Z-INDEX: 106; LEFT: 340px; POSITION: absolute; TOP: 317px" runat="server"
Text="留言"></asp:Button>
<asp:Button id="Button2" style="Z-INDEX: 107; LEFT: 416px; POSITION: absolute; TOP: 317px" runat="server"
Text="查看"></asp:Button>
</form>
</body>
</HTML>
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;namespace WebApp1
{
/// <summary>
/// WebForm2 的摘要说明。
/// </summary>
public class WebForm2 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox Name;
protected System.Web.UI.WebControls.TextBox Email;
protected System.Web.UI.WebControls.TextBox Homepage;
protected System.Web.UI.WebControls.TextBox Country;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Button Button2;
protected System.Web.UI.WebControls.TextBox Comments;
private void Page_Load(object sender, System.EventArgs e)
{
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Button2.Click += new System.EventHandler(this.Button2_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Button1_Click(object sender, System.EventArgs e)
{
try
{
XmlDocument doc=new XmlDocument();
doc.Load(Request.MapPath("gbook.xml"));
XmlDocumentFragment newVisitor=doc.CreateDocumentFragment();
newVisitor.InnerXml="<entry date=\"" + DateTime.Now +"\">\r\n" +
"\t<name>"+Name.Text+"</name>\r\n" +
"\t<email>" +Email.Text +"</email>\r\n" |
"\t<homepage>" +Homepage.Text+"</homepage>\r\n" +
"\t<country>" + Country.Text+"</country>\r\n"+
"\t,comment>" +"<![CDATA["+Comments.Text+"]]></comment>\r\n" +
"</entry>\r\n"; XmlElement root=doc.DocumentElement;
root.AppendChild(newVisitor);
doc.Save(Request.MapPath("gbook.xml")); Name.Text="";
Email.Text="";
Homepage.Text="";
Country.Text="";
Comments.Text="";
}
catch(Exception error)
{
Response.Write(error);
}
} private void Button2_Click(object sender, System.EventArgs e)
{
try
{
XmlDocument doc=new XmlDocument();
doc.LastChild(Request.MapPath("gbook.xml")); XslTransform tr=new XslTransform();
tr.Load(Request.MapPath("gbook.xsl"));
DocumentNavigator nav=new DocumentNavigator(doc);
tr.Transform(nav,null,Response.Output);
}
catch(System.Exception error)
{
Response.Write(error);
}
}
}
}