none
Objeto não encontrado RRS feed

  • Pergunta

  • Estou abrindo um arquivo xml dentro de um DTS no SQL Server porém o código é vbscrip

     

    Estou recebendo o erro de objeto não encontrado nessa linha :

    objXML.selectNodes("//root/params").Item(0).selectSingleNode("Priority").text

     

    OBS: Executei esse codigo várias veses e estava OK, depois começou a dar erro, criei um arquivo novo xml e ele funcionou pela primeira vez na segunda vez da o mesmo erro.

     

    Percebi que no comando :

    objXML.getElementsByTagName("Priority").length

     

    Na primeira vez ele retorna 1 e nas veses subsequentes retorna 0 como se não tivessem linhas no xml e tem.

     

    Será que porque eu não estou fechando o xml ? como eu fecho ele ?

    Se ele ficar aberto na memória sera que vai dar esse tipo de erro ? isso ta muito estranho

     

    Abaixo meu Código completo, isso tbm funciona no .Net se quiser testar

     

    Set objXML = CreateObject("MSXML2.DOMDocument")
            
    objXML.Load ("c:\teste.xml")

     

           IF objXML.getElementsByTagName("Priority").length > 0 THEN
                With objXML.selectNodes("//root/params").Item(0)

                    DTSGlobalVariables("strPriority").Value= .selectSingleNode("Priority").text
                 end with

           end if  

     

     

    Meu XML

    <xml><root>

    <Params>

    <Priority>5</Priority>

    </Params>

    </root>

    </xml>

     

     

     

     

    segunda-feira, 13 de agosto de 2007 14:51

Respostas

  • o close não tem mas descobri pq tava com erro. no meio dos dados tinham caracteres com acentuação ai pra funcionar tem que colocar o encode :

     

    <?xml version="1.0" encoding="iso-8859-15" ?>

     

    coloquei isso já era foi blza, fiz mais alguns teste e o mesmo erro ocorre se por exemplo vc nao fechar uma tag por exemplo:  <codigo>ssss<codigo> ao inves de <codigo>ssss</codigo> só que isso faz com que o erro ocorra na hora de puxar qualquer dado não somente esse código.

     

    OK Jhows

    segunda-feira, 13 de agosto de 2007 19:16

Todas as Respostas

  • Olá Rodrigo,

    Não sei se te ajuda mas, pra fechar o XML tenta usar

    ObjXML.Close()

     

    []s

    segunda-feira, 13 de agosto de 2007 16:36
  • o close não tem mas descobri pq tava com erro. no meio dos dados tinham caracteres com acentuação ai pra funcionar tem que colocar o encode :

     

    <?xml version="1.0" encoding="iso-8859-15" ?>

     

    coloquei isso já era foi blza, fiz mais alguns teste e o mesmo erro ocorre se por exemplo vc nao fechar uma tag por exemplo:  <codigo>ssss<codigo> ao inves de <codigo>ssss</codigo> só que isso faz com que o erro ocorra na hora de puxar qualquer dado não somente esse código.

     

    OK Jhows

    segunda-feira, 13 de agosto de 2007 19:16