myXML= "<?xml version=1.0 encoding=iso-8859-1 ?>" & vbcrlf & _
"<shippingRates code=fedex >" & vbcrlf & _
"<errorMsg>" & vbcrlf & _
"Sorry, no rates returned." & vbcrlf & _
"</errorMsg>" & vbcrlf & _
"</shippingRates>" & vbcrlf & _
"<shippingRates code=CUSTOM >" & vbcrlf & _
"<shippingRate index=0 >" & vbcrlf & _
"<TotalRate>0.29</TotalRate>" & vbcrlf & _
"<HandlingFee>0.00</HandlingFee>" & vbcrlf & _
"<DisplayHandlingFeeOpt>1</DisplayHandlingFeeOpt>" & vbcrlf & _
"<shippingMethod>shipping option 1 </shippingMethod>" & vbcrlf & _
"</shippingRate>" & vbcrlf & _
"<shippingRate index=1 >" & vbcrlf & _
"<TotalRate>2.91</TotalRate>" & vbcrlf & _
"<HandlingFee>43.69</HandlingFee>" & vbcrlf & _
"<DisplayHandlingFeeOpt>1</DisplayHandlingFeeOpt>" & vbcrlf & _
"<shippingMethod>shipping option 2 </shippingMethod>" & vbcrlf & _
"</shippingRate>" & vbcrlf & _
"</shippingRates>" & vbcrlf
Dim oXML: Set oXML = Server.CreateObject("Microsoft.XMLDOM")
oXML.loadXML(myXML) 'to load from string directly
Based on the xml Pattern scenario study.
I would like to achieve the following:
read if the node is 'fedex' if yes, then count how many node exist if count>0, then loop into to get value of each node inside (eg: shippingMethod, TotalRate) if count=0, do nothing.
read if the node is 'CUSTOM' if yes, then count how many inside if count>0, then loop into to get value of each node inside (eg: shippingmethod, TotalRate) if count=0, do nothing.
iItem= 0
set shippingRates_node = oXML.getElementsByTagName("shippingRates")
for each itemNodes in shippingRates_node(0).ChildNodes
set shippingRate_node = oXML.getElementsByTagName("shippingRate")
if code= "fedex" then
how to count?
if count>0 then
for each item in itemNodes.ChildNodes
if item.nodeName = "shippingMethod" Then
strItemLine= strItemLine & "&" & Server.URLEncode("L_SHIPPINGOPTIONNAME" & iItem) & "=" & Server.URLEncode(item.Text)
end if
if item.nodeName = "shippingRate" Then
strItemLine= strItemLine & "&" & Server.URLEncode("L_SHIPPINGOPTIONAMOUNT" & iItem) & "=" & Server.URLEncode(item.Text)
end if
next
iItem= iItem + 1
end if
end if
if code= "CUSTOM" then
how to count?
if count>0 then
for each item in itemNodes.ChildNodes
if item.nodeName = "shippingMethod" Then
strItemLine= strItemLine & "&" & Server.URLEncode("L_SHIPPINGOPTIONNAME" & iItem) & "=" & Server.URLEncode(item.Text)
end if
if item.nodeName = "shippingRate" Then
strItemLine= strItemLine & "&" & Server.URLEncode("L_SHIPPINGOPTIONAMOUNT" & iItem) & "=" & Server.URLEncode(item.Text)
end if
next
iItem= iItem + 1
end if
end if
Next
TotalShippingOptions= iItem
Anyone know a complete solution to this?