Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   ASP General (http://www.velocityreviews.com/forums/f65-asp-general.html)
-   -   XMLDOM / Conditional Check for Object fails (http://www.velocityreviews.com/forums/t798854-xmldom-conditional-check-for-object-fails.html)

joe 05-31-2005 06:23 PM

XMLDOM / Conditional Check for Object fails
 
I am having problems checking for the value of an XMLDOM object .

Lets say my XMLDOM object was successfully created as objXMLDoc, and that
has several nodes on it. In the case of a VBScript loop like below:

'-------------------
For x = 1 To 10

Set oItemPrice = objXMLDoc.selectSingleNode("//Item[x]/Price")

'--- conditional stuff that fails here

Next
'-------------------

some of the Items don't have a price, therefore the object oItemPrice will
fail at some point. So I want to check for this failure, but everything I do
gives me errors.
Examples:

1. If not oItemPrice Then
2. If oItemPrice.lenght = 0 Then
3. If oItemPrice = empty or oItemPrice = "" or isnull(oItemPrice) Then
4. If not (oItemPrice) Then

I really don't know what to do. Most errors are like:
" Object doesn't support this property or method"

Any help is appreciated.









joe 05-31-2005 06:32 PM

Re: XMLDOM / Conditional Check for Object fails
 
With JScript one can just go:

oItemPrice = xmlDoc.selectSingleNode("//Item["+x+"]/Price");

if (oItemPrice) { ...do stuff }
else {...do other stuff}

but because my XMLDOM code must go inside VBScrip pages, I have to figure
the other one out.
I tried to mix both languages up and ended up with even more problems.


> some of the Items don't have a price, therefore the object oItemPrice will
> fail at some point. So I want to check for this failure, but everything I

do
> gives me errors.
> Examples:
>
> 1. If not oItemPrice Then
> 2. If oItemPrice.lenght = 0 Then
> 3. If oItemPrice = empty or oItemPrice = "" or isnull(oItemPrice) Then
> 4. If not (oItemPrice) Then




Mark Schupp 05-31-2005 07:23 PM

Re: XMLDOM / Conditional Check for Object fails
 
try this:

If Not IsDomTextNode( oItemPrice) Then
....

'check if selectSingleNode returned a valid text node
Function IsDomTextNode( ByRef objNode )

Dim strTmp

On Error Resume Next
strTmp = objNode.text

If Err.Number = 0 Then
IsDomTextNode = True
Else
IsDomTextNode = False
End If

End Function

You should also be able to use the nodeType property of the node to see if
it is the type you expect. I can't remember why I used to above approach.

--
--Mark Schupp


"joe" <nobody@nowhere.com> wrote in message
news:NU1ne.9698$_r1.479079@news20.bellglobal.com.. .
>I am having problems checking for the value of an XMLDOM object .
>
> Lets say my XMLDOM object was successfully created as objXMLDoc, and that
> has several nodes on it. In the case of a VBScript loop like below:
>
> '-------------------
> For x = 1 To 10
>
> Set oItemPrice = objXMLDoc.selectSingleNode("//Item[x]/Price")
>
> '--- conditional stuff that fails here
>
> Next
> '-------------------
>
> some of the Items don't have a price, therefore the object oItemPrice will
> fail at some point. So I want to check for this failure, but everything I
> do
> gives me errors.
> Examples:
>
> 1. If not oItemPrice Then
> 2. If oItemPrice.lenght = 0 Then
> 3. If oItemPrice = empty or oItemPrice = "" or isnull(oItemPrice) Then
> 4. If not (oItemPrice) Then
>
> I really don't know what to do. Most errors are like:
> " Object doesn't support this property or method"
>
> Any help is appreciated.
>
>
>
>
>
>
>
>




joe 05-31-2005 08:27 PM

Re: XMLDOM / Conditional Check for Object fails
 
Mark Schupp:

Your function worked for me. Thank you!



joe 06-01-2005 03:07 PM

JScript and VBScript
 
Lately I've been surfing the MS knowledge pages to find XML related stuff,
and I've noticed that (of the two primary scripting languages used with ASP)
Jscript has way much more prominence that VBscript in the examples given.
Acutally, most of what I found was Jscript, C++ and Visual Basic.

Is MS pushing JScript as a preferred scripting language for their present
and future technologies? Not that I care, I like JScript. Just trying to see
where things are heading...



McKirahan 06-01-2005 03:29 PM

Re: JScript and VBScript
 
"joe" <nobody@nowhere.com> wrote in message
news:57kne.17283$_r1.695329@news20.bellglobal.com. ..
> Lately I've been surfing the MS knowledge pages to find XML related stuff,
> and I've noticed that (of the two primary scripting languages used with

ASP)
> Jscript has way much more prominence that VBscript in the examples given.
> Acutally, most of what I found was Jscript, C++ and Visual Basic.
>
> Is MS pushing JScript as a preferred scripting language for their present
> and future technologies? Not that I care, I like JScript. Just trying to

see
> where things are heading...
>



JScript (JavaScript, ECMAScript) are often used client-side as they are
cross-browser compatible; whereas, VBScript requires an IE browser.



Bob Barrows [MVP] 06-01-2005 03:30 PM

Re: JScript and VBScript
 
joe wrote:
> Lately I've been surfing the MS knowledge pages to find XML related
> stuff, and I've noticed that (of the two primary scripting languages
> used with ASP) Jscript has way much more prominence that VBscript in
> the examples given. Acutally, most of what I found was Jscript, C++
> and Visual Basic.
>
> Is MS pushing JScript as a preferred scripting language for their
> present and future technologies? Not that I care, I like JScript.
> Just trying to see where things are heading...


IE is the only browser that will run vbscript in client-side code ... If you
want cross-browser capabilities, you need to use javascript/jscript when
writing client-side code.

Bob Barrows

--
Microsoft MVP -- ASP/ASP.NET
Please reply to the newsgroup. The email account listed in my From
header is my spam trap, so I don't check it very often. You will get a
quicker response by posting to the newsgroup.



David Patow 06-09-2005 12:10 PM

RE: XMLDOM / Conditional Check for Object fails
 
Sorry about coming late to this party, but I think there's a much simpler
solution ...

Set oItemPrice = objXMLDoc.selectSingleNode("//Item[x]/Price")
If Not oItemPrice Is Nothing Then
' You can use oItemPrice in here.
End If

Yes, VB and VBScript are a little odd in this area, because they prefer to
use the default property of an object when assigning and comparing. This is
why there is the special "Set" statement and the above "Is" operator, which
act upon the object pointer itself, not its default property.


All times are GMT. The time now is 11:13 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.