熟悉xml操作的朋友。请帮我看看,不胜感激!!!在线等。。。。。。。。
我现在想实现一个留言本的功能,添加留言数据到xml文件中。
如下
====================skylen.xml=============================
<?xml version="1.0" standalone="yes"?>
<PROWEB xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/skylen.xsd">
<WEBDATA>
<WEBTITLE>清风明月</WEBTITLE>
<VIEWSTATE>12</VIEWSTATE>
<INDEXPAGE LINKADD="DEFAULT.ASPX">首 页</INDEXPAGE>
<LINK0 LINKADD="ITEM0.ASPX">最新动态</LINK0>
<LINK1 LINKADD="ITEM1.ASPX">栏目1</LINK1>
<LINK2 LINKADD="item2.aspx">栏 目 2</LINK2>
<GBOOK LINKADD="Guestbook.aspx">留 言 本</GBOOK>
<ABOUTME LINKADD="about.aspx">关 于 我</ABOUTME>
</WEBDATA>
<USERINFO>
<NAME>MYNAME</NAME>
<FACE>SKYLEN.GIF</FACE>
<AGE>18</AGE>
<OICQ>256685</OICQ>
<EMAIL>SKYLEN@SINA.COM</EMAIL>
<INTRO>sdfasdfa</INTRO>
</USERINFO>
<PAPER>
<PAPERDATA ID="0" TYPE="0" TOPIC="我 的 天 地" AUTHOR="skylen" ADDTIME="1991-06-25" FROM="互联网络"/></PAPERDATA>
</PAPER>
<!--留言本-->
<GUESTBOOK>
<POSTTOPIC>
<ADDTIME>2003-9-18 12:12:12</ADDTIME>
<NAME>SKYLEN</NAME>
<IP>127.0.0.1</IP>
<CONTENT>大家好</CONTENT>
</POSTTOPIC>
</GUESTBOOK>
</PROWEB>
============================POSTGBOOK.ASPX.VB ====================
'Imports System.Xml
Imports System.IO
Public Class PostGbook
Inherits System.Web.UI.Page
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents POST As System.Web.UI.WebControls.Button
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
#Region " Web 窗体设计器生成的代码 "
'该调用是 Web 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
End Sub
Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
'不要使用代码编辑器修改它。
InitializeComponent()
End Sub
#End Region
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
End Sub
Private Sub POST_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles POST.Click
Dim _ip As String = Request.UserHostAddress
Dim _name As String = TextBox1.Text.ToString
Dim _content As String = TextBox2.Text.ToString
Dim XMLFILE As String = Server.MapPath("../XMLDB/SKYLEN.XML")
Dim _XmlStreamIn As FileStream = New FileStream(XMLFILE, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
Dim _DATASET As DataSet = New DataSet()
_DATASET.ReadXml(_XmlStreamIn)
_XmlStreamIn.Close()
Dim _NEWROW As DataRow = _DATASET.Tables("POSTTOPIC").NewRow
_NEWROW("ADDTIME") = DateTime.Now.ToString
_NEWROW("NAME") = _name
_NEWROW("IP") = _ip
_NEWROW("CONTENT") = _content
_DATASET.Tables("POSTTOPIC").Rows.Add(_NEWROW)
DataGrid1.DataSource = _DATASET.Tables("posttopic")
DataGrid1.DataBind()
_DATASET.WriteXml(Server.MapPath("../XMLDB/SKYLEN1.XML"))
' Dim _XmlStreamOut As FileStream = New FileStream(XMLFILE, FileMode.Open, FileAccess.Write, FileShare.ReadWrite)
'_DATASET.WriteXml(_XmlStreamOut, XmlWriteMode.WriteSchema)
'_XmlStreamOut.Close()
Try
Catch
Response.Write("<s" & "cript language='javascript'>")
Response.Write("alert('添加留言失败!' );")
'Response.Write("window.location='" + strUrl + "';")
Response.Write("</" & "script>")
End Try
End Sub
End Class
=============================================
我试了很多种方法。但写出的xml总不是想要的格式。
新加进的一条数据应该这样
<GUESTBOOK>
<POSTTOPIC>
<ADDTIME>2003-9-18 12:12:12</ADDTIME>
<NAME>SKYLEN</NAME>
<IP>127.0.0.1</IP>
<CONTENT>大家好</CONTENT>
</POSTTOPIC>
<POSTTOPIC>
<ADDTIME>2003-9-18 12:12:12</ADDTIME>
<NAME>aaaaaa</NAME>
<IP>127.0.0.1</IP>
<CONTENT>bbbbbbbbbbbbbbbbb</CONTENT>
</POSTTOPIC>
</GUESTBOOK>
========但是我写出来的xml总是这样的============
<GUESTBOOK>
<POSTTOPIC>
<ADDTIME>2003-9-18 12:12:12</ADDTIME>
<NAME>SKYLEN</NAME>
<IP>127.0.0.1</IP>
<CONTENT>大家好</CONTENT>
</POSTTOPIC>
</GUESTBOOK>
<POSTTOPIC>
<ADDTIME>2003-9-18 12:12:12</ADDTIME>
<NAME>aaaaaa</NAME>
<IP>127.0.0.1</IP>
<CONTENT>bbbbbbbbbbbbbbbbb</CONTENT>
</POSTTOPIC>
=========请大家帮忙了,在线等你们。。。。。。。。。。