WriteXml 出错,请帮忙,急啊,头大
下面是我按照书中的代码写的,没有少,怎么运行,得不到想要的结果:
Private Function AddUser(ByVal name As String, ByVal password As String) As Boolean
If IsUserExist(name) Then Return False
Dim dsUsers As New DataSet
Try
Dim xmlPath As String = Server.MapPath(Request.ApplicationPath) & "\Users.xml"
dsUsers.ReadXml(xmlPath, XmlReadMode.Auto)
Dim newrow As DataRow = dsUsers.Tables("users").NewRow()
newrow("name") = name
newrow("password") = FormsAuthentication.HashPasswordForStoringInConfigFile(password, "sha1")
dsUsers.Tables("users").Rows.Add(newrow)
dsUsers.WriteXml(xmlPath)
Return True
Catch ex As Exception
Return False
Finally
dsUsers.Dispose()
End Try
End Function
------------------------------------
问题出在 dsUsers.WriteXml(xmlPath) 这句话,这句话出错,所以跑到了Catch,怎么也无法返回True。
Users.xml 文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
<users name="" password=""/>
<users name="Jeff" password="9828034F45C139F3D0314872CEE30463ECE9B196"/>
<users name="Jordan" password="674027E17B0ED64E76CDE2005CB8E76FB4CD671A"/>
<users name="Henry" password="226A7752B68099E59EEADD7556AD48F44E5403F0"/>
</NewDataSet>
还望高人能帮忙。