Usuário com melhor resposta
Objeto não encontrado

Pergunta
-
E
stou 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 withend if
Meu XML
<
xml><root> <Params> <Priority>5</Priority></
Params></root>
</
xml>
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
Todas as 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