如何在提交表单中使用GridView将数据存储到xml文件?

时间:2013-08-15 19:01:01

标签: asp.net xml vb.net gridview

我有一个提交表单,通过按钮点击将数据存储到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的参数时,就像我对文本框控件一样,我得到一个错误,声明它们未被声明。

1 个答案:

答案 0 :(得分:0)

如果您使用DataTable并将其添加到DataSet,则使用Dataset.WriteXml方法。相反,您可以使用DataSet.ReadXml方法重新加载数据。

如果Gridview设置为DataTable,则DataSource会显示{{1}}中的数据。