|
ASP.Net+XML打造留言薄(2) { SaveXMLData();
name.Text = ""; email.Text = ""; qq.Text = ""; homepage.Text = ""; comment.Text = ""; }
private void btnReset_Click(object sender, System.EventArgs e) { name.Text = ""; email.Text = ""; qq.Text = ""; homepage.Text = ""; comment.Text = ""; }
private void btnView_Click(object sender, System.EventArgs e) { // 显示所有用户的留言信息 Response.Redirect( "ViewGuestBook.aspx" ); }
其中,第一个按钮是最重要的,它能将用户的输入信息存储到XML文件中,调用的方法就是SaveXMLData();而第二个按钮仅仅完成文本框的重置清空工作;第三个按钮的作用是运用另一个Web页面显示所有的用户输入信息。同时,第一个按钮在成功保存信息后也会将浏览器导向到显示所有用户输入信息的页面。 下面我们来详细分析一下SaveXMLData()方法,其实现如下:
private void SaveXMLData() { try { // 创建一个XmlDocument对象,用于载入存储信息的XML文件 XmlDocument xdoc = new XmlDocument(); xdoc.Load( Server.MapPath( "guestbook.xml" ));
// 创建一个新的guest节点并将它添加到根节点下 XmlElement parentNode = xdoc.CreateElement( "guest" ); xdoc.DocumentElement.PrependChild( parentNode );
// 创建所有用于存储信息的节点 XmlElement nameNode = xdoc.CreateElement( "name" ); XmlElement emailNode = xdoc.CreateElement( "email" ); XmlElement qqNode = xdoc.CreateElement( "qq" ); XmlElement homepageNode = xdoc.CreateElement( "homepage" ); XmlElement commentNode = xdoc.CreateElement( "comment" );
// 获取文本信息 XmlText nameText = xdoc.CreateTextNode( name.Text ); XmlText emailText = xdoc.CreateTextNode( email.Text ); XmlText qqText = xdoc.CreateTextNode( qq.Text ); XmlText homepageText = xdoc.CreateTextNode( homepage.Text ); XmlText commentText = xdoc.CreateTextNode( comment.Text );
// 将上面创建的各个存储信息的节点添加到guest节点下但并不包含最终的值 parentNode.AppendChild( nameNode ); parentNode.AppendChild( emailNode ); parentNode.AppendChild( qqNode ); parentNode.AppendChild( homepageNode ); parentNode.AppendChild( commentNode );
// 将上面获取的文本信息添加到与之相对应的节点中 nameNode.AppendChild( nameText ); emailNode.AppendChild( emailText ); qqNode.AppendChild( qqText ); homepageNode.AppendChild( homepageText );
|