webForumDet fria alternativet

XML - getElementsByTagName

5 svar · 345 visningar · startad av Snakes

SnakesMedlem sedan okt. 2004392 inlägg
#1

Denna Funktion ska ta olika Element värden från olika Xml filer!
Det som händer är att vid raden som är markerad med >>> Så blir det fel ifall Elementet inte hittats! Jag har försökt med {If Not TypeName(objLst.item(NodeId).text) = "Nothing"} men det hjälpte inte, då blev det fel i TypeName funktionen!...

Vad är det jag vill? Jo ifall det inte objLst.item(NodeId).text finns så vill jag att den fortsätter iaf!

    Function GetXMLNode(GetNode,NodeStr,NodeId,WorkingString)
      If NOT Request("debug") = "" Then
        Response.Write GetNode & " - " & NodeStr & " - " & NodeId & VbCrLf & VbCrLf & VbCrLf & VbCrLf
        Response.Flush
      End If

      Set objXML = CreateObject("Microsoft.XMLDOM")
      objXML.async = False
      objXML.LoadXML WorkingString
      If Not Instr(WorkingString,GetNode) < 1 Then 
        If NodeStr = "" Then
          Set objLst = objXML.getElementsByTagName(GetNode)
>>>     GetXMLNode = objLst.item(NodeId).text
        ElseIf Not NodeStr = "" Then
          Set objLst = objXML.selectSingleNode("//" & GetNode)
          Set objAtb = objLst.Attributes.getNamedItem(NodeStr)
          GetXMLNode = objAtb.value
        End If
      Else
        GetXMLNode = "Saknas"
      End If
      Set objXML = Nothing
      Set objLst = Nothing
      If GetXMLNode = "" Then
        GetXMLNode = "Saknas ej, men ej ifylld"
      End If
    End Function

Fel:

Microsoft VBScript runtime error '800a01a8' 

Object required: 'objLst.item(...)' 

/functions/productviewinpriceandstock.asp, line 81

Line 81 är vid markerad rad ovanför!

@ndersMedlem sedan juni 200032 969 inlägg
#2
if not objLst Is Nothing then

....

end if
SnakesMedlem sedan okt. 2004392 inlägg
#3

Tack för snabbt svar. Men det funkar inte får samma fel!

@ndersMedlem sedan juni 200032 969 inlägg
#4

My bad. Det är ju självklart objLst.item(NodeId) du ska kolla.

SnakesMedlem sedan okt. 2004392 inlägg
#5

Detta funkade däremot! Tack så mycket!

If Not objLst.item(NodeId) Is Nothing Then
  ...
Else
  ...
End If
@ndersMedlem sedan juni 200032 969 inlägg
#6

Wahr zåå godh! :bire

130 ms totalt · 3 externa anrop · v20260731065814-full.91fd2ad2
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)