Re: XML structure to string
try this:
vb Code:
Public Class Form1
''' <summary>
''' XmlTextWriter
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks>writes an xml fragment
''' uses 4 textboxes for inputting attribute values</remarks>
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If IO.File.Exists("test.txt") Then
IO.File.Delete("test.txt")
End If
Dim fs As New IO.FileStream("test.txt", IO.FileMode.CreateNew)
Using writer As New Xml.XmlTextWriter(fs, System.Text.Encoding.UTF8)
writer.WriteStartElement("file")
writer.WriteStartElement("node")
writer.WriteAttributeString("name", "", TextBox1.Text)
writer.WriteAttributeString("value", "", TextBox2.Text)
writer.WriteEndElement()
writer.WriteStartElement("anothernode")
writer.WriteAttributeString("name", "", TextBox3.Text)
writer.WriteAttributeString("value", "", TextBox4.Text)
writer.WriteEndElement()
writer.WriteEndElement()
End Using
'check file
Process.Start("test.txt")
End Sub
End Class
Re: XML structure to string
Another alternate using IO.File.WriteAllText and LINQ
Code:
Dim Content = _
<People>
<Person>
<FirstName><%= txtFirstName.Text %></FirstName>
<LastName><%= txtLastName.Text %></LastName>
</Person>
<Person>
<FirstName>Kevin</FirstName>
<LastName>Gallagher</LastName>
</Person>
<Person>
<FirstName>Mary</FirstName>
<LastName>Gallagher</LastName>
</Person>
<Person>
<FirstName>Terry</FirstName>
<LastName>Adams</LastName>
</Person>
</People>
IO.File.WriteAllText("MyFile.xml", Content.ToString)
Dim Document As New XDocument
Document = XDocument.Load("MyFile.xml")
Dim People = (From P In Document...<Person> _
Select FirstName = P.<FirstName>.Value, LastName = P.<LastName>.Value _
Order By LastName).ToList
For Each person In People
Console.WriteLine("{0} {1}", person.FirstName, person.LastName)
Next
Or
Code:
Dim Content = <People></People>
Content.Add( _
<Person>
<FirstName><%= txtFirstName.Text %></FirstName>
<LastName><%= txtLastName.Text %></LastName>
</Person>)
IO.File.WriteAllText("MyFile.xml", Content.ToString)
Dim Document As New XDocument
Document = XDocument.Load("MyFile.xml")
Dim People = (From P In Document...<Person> _
Select FirstName = P.<FirstName>.Value, LastName = P.<LastName>.Value _
Order By LastName).ToList
For Each person In People
Console.WriteLine("{0} {1}", person.FirstName, person.LastName)
Next
Re: XML structure to string
thanks for your help. this is what I was after:
Code:
Dim memorystream As New MemoryStream()
Dim xmlwriter As New XmlTextWriter(memorystream, System.Text.Encoding.UTF8)
xmlwriter.WriteStartElement("option")
xmlwriter.WriteString(TextBox1.Text)
xmlwriter.WriteEndElement()
xmlwriter.Flush()
Dim stream_reader As New StreamReader(memorystream)
memorystream.Seek(0, SeekOrigin.Begin)
Console.WriteLine(stream_reader.ReadToEnd())