熟悉xml操作的朋友。请帮我看看,不胜感激!!!在线等。。。。。。。。

skylen 2003-10-17 01:01:01
我现在想实现一个留言本的功能,添加留言数据到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>

=========请大家帮忙了,在线等你们。。。。。。。。。。
...全文
85 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
asam2183 2003-10-17
  • 打赏
  • 举报
回复
Dim xObject As XmlElement = xmldoc("PROWEB").SelectSingleNode("GUESTBOOK")
Dim xPOSTTOPIC As XmlElement = xObject.CreateElement("POSTTOPIC")
xObject.AppendChild(xPOSTTOPIC)

'
skylen 2003-10-17
  • 打赏
  • 举报
回复
回复人: guoyan19811021(吉祥) ( ) 信誉:94

像你这样写完了xml导致整个xml文件再也用不了了。
潜水员2099 2003-10-17
  • 打赏
  • 举报
回复
参考我学习时的例子:

http://zhaoshiting.vip.sina.com/xmlguestbook.rar
guoyan19811021 2003-10-17
  • 打赏
  • 举报
回复
dim mywriteger as new xml.xmltextwriter("xxx.xml",nothing)
mywriteger .writerStarElement("GUESTBOOK")
mywriteger .writerStarElement("POSTTOPIC")
mywriter.writeElementstring("ADDTIME",_time)
mywriter.writeElementstring("NAME",_NAME)
mywriter.writeElementstring("IP",_ip)
mywriter.writeElementstring("CONTENT",_CONTENT)
mywriteger .writerfullendElement()
.............

mywriteger .writerendElement()

skylen 2003-10-17
  • 打赏
  • 举报
回复
就是因为不知道怎么用xmldocument这东西。
suhuoqiang 2003-10-17
  • 打赏
  • 举报
回复
??用SYSTEM.XML不行吗
SnApnet 2003-10-17
  • 打赏
  • 举报
回复
帮你UP.....
顺便问一句,如何学习.net操作xml,有书或者例子否?
skylen 2003-10-17
  • 打赏
  • 举报
回复
我要up一次。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧