none
Inserir Node XML está dando erro : Referência de objeto não definida para uma instância de um objeto.

    Question

  •  <?xml version="1.0" ?> 
    - <Chat>
    - <User>
     <de>Rafael Fernandes</de> 
     <tipo /> 
     <para /> 
     <msg><b>entrou na sala</b></msg> 
     </User>
     </Chat>

    Este é a minha estrutura XML, eu gostaria de inserir mais registros no XMl, estou fazendo assim:

     

    Dim Doc As New XmlDocument
    Doc.Load(arquivo)
    Dim ItemNode As XmlNode
    ItemNode = Doc.CreateElement("User")
    Dim NodeDe, NodeTipo, NodePara, NodeMsg As XmlNode
    NodeDe = Doc.CreateElement("de")
    NodeTipo = Doc.CreateElement("tipo")
    NodePara = Doc.CreateElement("para")
    NodeMsg = Doc.CreateElement("msg")
    ItemNode.AppendChild(NodeDe)
    ItemNode.AppendChild(NodeTipo)
    ItemNode.AppendChild(NodePara)
    ItemNode.AppendChild(NodeMsg)
    '------------------------------
    ' Adiciona o texto.
    '------------------------------
    NodeDe.AppendChild(Doc.CreateTextNode(de))
    NodeTipo.AppendChild(Doc.CreateTextNode(tipo))
    NodePara.AppendChild(Doc.CreateTextNode(para))
    NodeMsg.AppendChild(Doc.CreateTextNode(msg))
    '------------------------------
    ' Adiciona o elemento no final
    '------------------------------
    Doc.DocumentElement.ChildNodes(1).AppendChild(ItemNode)
    '------------------------------
    ' Salva o documento
    '------------------------------
    Doc.Save(arquivo)

     

     

    Mas ocorre o erro: Referência de objeto não definida para uma instância de um objeto. no Doc.DocumentElement.ChildNodes(1).AppendChild(ItemNode) , pq este erro ?


    Rafael Fernandes D Orazio
    Wednesday, June 30, 2010 9:34 PM

Answers

  • Olá,

    Fiz alguns testes aqui, mude a linha que deu o erro para o seguinte.

    Doc.DocumentElement.AppendChild(ItemNode)

    Veja se resolveu seu problema,

    • Edited by Vinicius Gama Thursday, July 01, 2010 2:24 AM fomatacao
    • Marked as answer by rafaeldorazio Thursday, July 01, 2010 3:10 AM
    Thursday, July 01, 2010 2:22 AM