none
Remplazar contenido de un nodo en xml RRS feed

  • Pregunta

  • Buenas estoy intentando remplazar el contenido de un nodo de un xml y me lanza este error

    ya estoy bloqueado y por eso pregunto

    Gracias

     Sb_Estock2.Value = False
            XmlDocument_Inventario = New XmlDocument
            XmlDocument_Inventario.Load("Configuracion/Configuracion.xml")
            Dim nodeRoot As XmlElement = XmlDocument_Inventario.DocumentElement
            Dim Estock As XmlNode = XmlDocument_Inventario.CreateNode(XmlNodeType.Element, "Estock", "")
            Dim Confi_1 As XmlNode = XmlDocument_Inventario.CreateNode(XmlNodeType.Element, "Confi_1", "")
            Dim Confi_2 As XmlNode = XmlDocument_Inventario.CreateNode(XmlNodeType.Element, "Confi_2", "")
           
    
           
    
            Confi_1.InnerText = Sb_Estock1.Value
            Confi_2.InnerText = Sb_Estock2.Value
            Estock.ReplaceChild(Confi_1, Estock.ChildNodes.Item(1))
            Estock.ReplaceChild(Confi_2, Estock.ChildNodes.Item(2))
            nodeRoot.AppendChild(Estock)
            XmlDocument_Inventario.Save("Configuracion/Configuracion.xml")


    • Editado JETET martes, 10 de octubre de 2017 18:29
    martes, 10 de octubre de 2017 18:14

Respuestas

  • El error sale porque intentas acceder a Estock.ChildNodes.loquesea. Pero Estock no tiene ningún childnode (lo acabas de crear un poco más arriba y no le has añadido ninguno nodo hijo). Por lo tanto, childnodes es null y da un error.

    Recuerda que CreateNode no "saca" un nodo del XML, lo que hace es crear un NUEVO nodo y lo crea VACÍO.

    • Propuesto como respuesta Jorge TurradoMVP martes, 10 de octubre de 2017 20:20
    • Marcado como respuesta JETET miércoles, 11 de octubre de 2017 7:37
    martes, 10 de octubre de 2017 19:14

Todas las respuestas

  • El error sale porque intentas acceder a Estock.ChildNodes.loquesea. Pero Estock no tiene ningún childnode (lo acabas de crear un poco más arriba y no le has añadido ninguno nodo hijo). Por lo tanto, childnodes es null y da un error.

    Recuerda que CreateNode no "saca" un nodo del XML, lo que hace es crear un NUEVO nodo y lo crea VACÍO.

    • Propuesto como respuesta Jorge TurradoMVP martes, 10 de octubre de 2017 20:20
    • Marcado como respuesta JETET miércoles, 11 de octubre de 2017 7:37
    martes, 10 de octubre de 2017 19:14
  • Gracias por responder ya lo he conseguido

    miércoles, 11 de octubre de 2017 7:37