Solved

VB.NET XML-Document

Posted on 2009-05-04
3
713 Views
Last Modified: 2012-06-27
Hey guy's,

I've a question about VB.NET and XML.
I'm be able to create a new XML-Document.
My question: How can I add some nodes to the already existing XML-Document???

Thanks.
'Sub to create the XML-Document

Private Sub writeXML()
 

        Dim writer As XmlWriter

        writer = XmlWriter.Create("properties.xml")

        writer.WriteStartDocument()

        writer.WriteStartElement("Drinks")
 

    

        writer.WriteStartElement("Drink")

        writer.WriteAttributeString("ID","1")

        writer.WriteElementString("Name", "Blubb")

        writer.WriteElementString("Prize", "10")

        writer.WriteElementString("Amount", "4")

        writer.WriteElementString("Path", "Logo.gif")

        writer.WriteEndElement()
 

        writer.WriteEndDocument()

        writer.Close()
 

        Return Nothing

End Sub

---------------------------------------------------------------------------

'Result looks like this:

  <?xml version="1.0" encoding="utf-8" ?> 

- <Drinks>

   - <Drink ID="1">

        <Name>Blubb</Name> 

        <Prize>10</Prize> 

        <Amount>4</Amount> 

        <Path>Logo.gif</Path> 

     </Drink>

  </Drinks>

----------------------------------------------------------------------------

'I want to add a new node...so the result should looks like this:

  <?xml version="1.0" encoding="utf-8" ?> 

- <Drinks>

   - <Drink ID="1">

        <Name>Blubb</Name> 

        <Prize>10</Prize> 

        <Amount>4</Amount> 

        <Path>Logo.gif</Path> 

     </Drink>

   - <Drink ID="2">

        <Name>Bla</Name> 

        <Prize>5</Prize> 

        <Amount>1</Amount> 

        <Path>Logo2.gif</Path> 

     </Drink>

  </Drinks>

Open in new window

0
Comment
Question by:ceMo89
3 Comments
 
LVL 4

Accepted Solution

by:
cauos earned 500 total points
ID: 24294166
you can load the XML file to XmlDocument  and append new XML node to the end of the file and then save this file again.
public sub AddNewNode()
 

        dim doc as New XmlDocument ()

        doc.Load("properties.xml")

 

        dim root as XmlNode = doc.DocumentElement

 

        //Create a new node.

        dim elem as XmlElement = doc.CreateElement("Drink")

        elem.InnerXml = "<yourNodes>mynode</yourNodes>"

 

        //Add the node to the document.

        root.AppendChild(elem)       

        doc.Save("properties.xml")

end sub

Open in new window

0
 
LVL 4

Expert Comment

by:barrislb
ID: 24303046
Hi ceMo89,

I believe this code may be some help to you.  
Private Sub InsertNewNode()

        '-- Declare local variable and load xml file

        Dim doc As New XmlDocument()

        doc.Load("C:\test.xml")
 

        '-- Create a new node and add it to the document.

        Dim Drink As XmlElement = doc.CreateElement("Drink")  

        Drink.SetAttribute("ID", "IdNum")        

       

        '-- Name node

        Dim Name As XmlElement = doc.CreateElement("Name")

        Name.InnerText = "Enter a Name"

        '-- Prize node

        Dim Prize As XmlElement = doc.CreateElement("Prize")

        Prize.InnerText = "Enter a Prize"

        '-- Amount node

        Dim Amount As XmlElement = doc.CreateElement("Amount")

        Amount.InnerText = "Enter the Amount"

        '-- Path node

        Dim Path As XmlElement = doc.CreateElement("Path")

        Path.InnerText = "Enter a Path"
 

        '-- Append the new node to the end of the file.

        doc.DocumentElement.AppendChild(Drink)

        doc.DocumentElement.LastChild.AppendChild(Name)

        doc.DocumentElement.LastChild.AppendChild(Prize)

        doc.DocumentElement.LastChild.AppendChild(Amount)

        doc.DocumentElement.LastChild.AppendChild(Path)
 

        '-- Save the xml file with the new changes.

        doc.Save("C:\test.xml")

        MessageBox.Show("New xml node has been added.", "XML Node Add...", MessageBoxButtons.OK, MessageBoxIcon.Information)

    End Sub

Open in new window

0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now