I have a VB.net program. I'm attempting to use XMLReader to read a .xml file. I want to break the XML File up to organize it into different "Sections" In this example "FormTitle"
and "ButtonTitle"
. I would like to grab the <Text>
data from FormTitle
and display it as the Form "text"
and take the <Text>
in "ButtonTitle"
and have it display in the button text.
Here is my XML File:
<?xml version="1.0" encoding="utf-8"?>
<!--XML Database.-->
<FormTitle>
<Text>Form Test</Text>
</FormTitle>
<ButtonTitle>
<Text>Button Test</Text>
</ButtonTitle>
Here is my current Code:
If (IO.File.Exists("C:\testing.xml")) Then
Dim document As XmlReader = New XmlTextReader("C:\testing.xml")
While (document.Read())
Dim type = document.NodeType
If (type = XmlNodeType.Element) Then
'
If (document.Name = "Text") Then
Me.Text = document.ReadInnerXml.ToString()
End If
End If
End While
Else
MessageBox.Show("The filename you selected was not found.")
End If
How can bring in the next section (ButtonTitle)
With the same name that is in FormTitle
which is (Text)
. I would assume I need to reference FormTitle
and ButtonTitle
in an if then statement?
Check out this example. http://msdn.microsoft.com/en-us/library/dc0c9ekk.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2
You should can use:
You can then loop through all of the child nodes. http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.childnodes.aspx
Using XDocument is more efficient for reading Xml and also more readable due to less syntax.
You need to add a root to your XML. I called it root, but it can be anything. It just encapsultes all of your XML
Here is an example of pulling the "Form Test" from FormTitle
assign text to form