我有一个提交表单,通过按钮点击将数据存储到XML文件中。每次用户单击提交按钮时,都会创建一个新的XML文件。在表单中,我还使用可编辑的GridView( id = gvProductNumber )将其数据写入同一XML文件。我的问题是,当用户单击提交按钮时,通过文本框控件提交的数据将写入xml文件,但可编辑的Gridview中的数据不会保留。因此,我只剩下从文本框控件提交的数据。
这是我的代码 - 按钮单击 - 用于存储通过文本框控件提交的数据的代码段 - 将用户的名字和姓氏与产品ID和产品编号一起写入xml文件。
Public Sub Write_XML(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim textWriter As New XmlTextWriter(Server.MapPath("xml/PersonDataV.xml"), Nothing)
textWriter.Formatting = System.Xml.Formatting.Indented
'Start New Document
textWriter.WriteStartDocument()
'Write a Comment
textWriter.WriteComment("This is a comment")
'Insert Start Element -root element node
textWriter.WriteStartElement("PersonalData")
'write the child element
textWriter.WriteStartElement("products")
'write the child element
textWriter.WriteStartElement("product")
'Write ProductID Element and Data
textWriter.WriteStartElement("productID", "")
textWriter.WriteString(txtProductID.Text)
textWriter.WriteEndElement()
'Write ProductID Element and Data
textWriter.WriteStartElement("productNumber", "")
textWriter.WriteString(txtProductNum.Text)
textWriter.WriteEndElement()
textWriter.WriteEndElement()
textWriter.WriteEndElement()
'write the child element
textWriter.WriteStartElement("customers")
'write the child element
textWriter.WriteStartElement("customer")
'Write LastName Element and Data
textWriter.WriteStartElement("LastName", "")
textWriter.WriteString(txtLastName.Text)
textWriter.WriteEndElement()
'Write FirstName Element and Data
textWriter.WriteStartElement("FirstName", "")
textWriter.WriteString(txtFirstName.Text)
textWriter.WriteEndElement()
'End Everything
textWriter.WriteEndDocument()
'Clean up
textWriter.Flush()
textWriter.Close()
'Display the XML Document
Response.Redirect(Server.MapPath("xml/PersonDataV.xml"))
End Sub
Gridview使用典型的插入/编辑/删除功能写入xml文件。有没有办法可以将可编辑网格视图的ID或Gridview中使用的文本框实现到上面的Snippt中?当我尝试使用Gridview的文本框ID作为WriteString的参数时,就像我对文本框控件一样,我得到一个错误,声明它们未被声明。
答案 0 :(得分:0)
如果您使用DataTable
并将其添加到DataSet
,则使用Dataset.WriteXml方法。相反,您可以使用DataSet.ReadXml方法重新加载数据。
如果Gridview
设置为DataTable
,则DataSource
会显示{{1}}中的数据。