• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 268
  • Last Modified:

Add to XML File

I am using VB.NET 2005.

I need to be able to add to an XML File. If I have the following:

<?xml version="1.0" encoding="utf-8" ?>
<applicationlist>
     <app>
          <name>AC</name>
          <srcdir>c:\AC</srcdir>
      </app>
</applicationlist>

I want to add a new <app> section to this xml. So I then have:

<?xml version="1.0" encoding="utf-8" ?>
<applicationlist>
     <app>
          <name>AC</name>
          <srcdir>c:\AC</srcdir>
      </app>
     <app>
          <name>NewAppInfo</name>
          <srcdir>c:\Info</srcdir>
      </app>
</applicationlist>

Thanks for the help.
0
sneeri_c
Asked:
sneeri_c
  • 2
1 Solution
 
pradeepsudharsanCommented:
Dim doc as XmlDocument = new XmlDocument()
    doc.LoadXml("<book ISBN='1-861001-57-5'>" & _
                "<title>Pride And Prejudice</title>" & _
                "</book>")      

    'Create a new attribute.
    Dim newAttr as XmlAttribute = doc.CreateAttribute("genre")
    newAttr.Value = "novel"

    'Create an attribute collection and add the new attribute
    'to the collection.  
    Dim attrColl as XmlAttributeCollection = doc.DocumentElement.Attributes
    attrColl.InsertAfter(newAttr, attrColl.ItemOf(0))

    Console.WriteLine("Display the modified XML...")
    Console.WriteLine(doc.OuterXml)
0
 
pradeepsudharsanCommented:
Dim doc As New XmlDocument()
        doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" & _
                    "<title>Pride And Prejudice</title>" & _
                    "</book>")
        Dim root As XmlNode = doc.DocumentElement
       
        'Create a new node.
        Dim elem As XmlElement = doc.CreateElement("price")
        elem.InnerText = "19.95"
       
        'Add the node to the document.
        root.InsertAfter(elem, root.FirstChild)
       
        Console.WriteLine("Display the modified XML...")
        doc.Save(Console.Out)
0
 
Nandakumar SakthivelTechnology LeadCommented:
Hi,
    You can use this if you want to save the data in xml file

            Dim childelement As XmlElement
            Dim childelement1 As XmlElement
            Dim xmldoc As New XmlDocument

            xmldoc.Load(<file name>)
            childelement = xmldoc.CreateElement("app")

            childelement1 = xmldoc.CreateElement("name")
            childelement1.InnerText = <value>
            childelement.AppendChild(childelement1)

            childelement1 = xmldoc.CreateElement("srcdir")
            childelement1.InnerText =  <value>
            childelement.AppendChild(childelement1)

            xmldoc.DocumentElement.AppendChild(childelement)

            xmldoc.Save(<file name>)

The above code will append a a node named app and include two elements named <name> and <srcdir> and assign the value for that element(va;ue of the inertext) and save it in the specified xml file

Thanks,
Nanda
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now