writing to XML file

  • Thread starter Thread starter slinky
  • Start date Start date
S

slinky

I'm struggling with what should be a very basic .aspx/XML issue. I
have an XML file. I have a textbox for a user to enter data and a
button to submit the data. I don't wont the user to see the other
records on the screen. I'm using Visual Web Developer Express 2005,
vb.NET) I've tried several different strategies from books and online
examples, but I can't seem to get anywhere. I'm guessing I need to Dim
a DataSet (even though I'm adding only one record). Of course I need
to pass the value of my textbox into the XML file via an event handler
on the button's code. Should I embed and INSERT query string into the
button's click event? Please any advice would be appreciated. Thanks!
 
I'm struggling with what should be a very basic .aspx/XML issue. I
have an XML file. I have a textbox for a user to enter data and a
button to submit the data. I don't wont the user to see the other
records on the screen. I'm using Visual Web Developer Express 2005,
vb.NET) I've tried several different strategies from books and online
examples, but I can't seem to get anywhere. I'm guessing I need to Dim
a DataSet (even though I'm adding only one record). Of course I need
to pass the value of my textbox into the XML file via an event handler
on the button's code. Should I embed and INSERT query string into the
button's click event? Please any advice would be appreciated. Thanks!

http://groups.google.com/group/micr....aspnet/browse_thread/thread/5aa2d758049b3744
 
No disrespect, but I went to that site and did not find anything
pertinent to the needs of this very simple (for everyone but us
newbies) request. Does anyone else know of some basic structure
relative to the specific questions of my base post? Thanks!
 
There are kinda 2 ways you can go about this:

Treat your xml as a XmlDocument

that would involve you writing Xpath statements to find data.
And would return XmlNodeList objects.

OR

Treat your backend data as a DataSet ( a strongly typed one would be
better).
However, to do this, the xml has to be in a specific format. (DataSet
friendly).


I would suggest this:

Create your own strong dataset object.

Right click / Add New Item (DataSet)
Call it "MyFirstDataSet".

Add a table in the designer. (if youre in 2.0 , DELETE the table adapter
that gets auto created at the bottom)

Add a table like "Employee"

add columns like "SSN" , "LastName" , "FirstName".


MyFirstDataSet ds = new MyFirstDataSet();
ds.Employee.AddNewEmployeeRow ( "222222222" , "Smith" , "John" ) ;
ds.Employee.AddNewEmployeeRow ( "333333333" , "Jones" , "Mary" ) ;

ds.WriteXml (@"C:\myds.xml");

...............

There is a ReadXml method as well.


IF you do this, you'll see how the xml is formed, when you open the file in
notepad.

Then you can do stuff like

MyFirstDataSet ds = new MyFirstDataSet();
ds.ReadXml(@"C:\myds.xml");

ds.Employee.Select ("SSN='222222222'");

well, you gotta figure out what the above returns, and get a ref to it.

The above should return 1 DataRow (I think?) and you'll be able to cast it
as a
MyFirstDataSet.EmployeeRow object.


Something like that.


If you go with a pure XmlDocument model, you'll have to learn some Xpath.


If you want to go with a DataSet route, AND you don't have dataset friendly
Xml to begin with, you can do this:
http://sholliday.spaces.live.com/Blog/cns!A68482B9628A842A!148.entry


...
 
slinky said:
No disrespect, but I went to that site and did not find anything
pertinent to the needs of this very simple (for everyone but us
newbies) request. Does anyone else know of some basic structure
relative to the specific questions of my base post? Thanks!

Please scroll the page down, the code you've posted is more or less correct,
you just need to modify a few things
 
Thanks! I've kinda got some script below that I'm hoping to make work.
I will have a textbox (txtEvent) that I've added to hold the value for
which my submit button will write as a new "record" to the XML file.
I'm guessing I need a SELECT INTO sql query in there somewhere for
adding the record? Any help would be appreciated. Thanks!

Private Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim myDataSet As New DataSet()
myDataSet.ReadXml(Server.MapPath("timeline.xml"))
txtNewEvent.DataBind()
End Sub

Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As
System.EventArgs)
myDataSet.DataSet.WriteXml(Server.MapPath("timeline.xml"))
End Sub
 
Back
Top