Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > ASP General > XMLDOM / Conditional Check for Object fails

Reply
Thread Tools

XMLDOM / Conditional Check for Object fails

 
 
joe
Guest
Posts: n/a
 
      05-31-2005
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.








 
Reply With Quote
 
 
 
 
joe
Guest
Posts: n/a
 
      05-31-2005
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



 
Reply With Quote
 
 
 
 
Mark Schupp
Guest
Posts: n/a
 
      05-31-2005
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" <(E-Mail Removed)> wrote in message
news:NU1ne.9698$(E-Mail Removed).. .
>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.
>
>
>
>
>
>
>
>



 
Reply With Quote
 
joe
Guest
Posts: n/a
 
      05-31-2005
Mark Schupp:

Your function worked for me. Thank you!


 
Reply With Quote
 
joe
Guest
Posts: n/a
 
      06-01-2005
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...


 
Reply With Quote
 
McKirahan
Guest
Posts: n/a
 
      06-01-2005
"joe" <(E-Mail Removed)> wrote in message
news:57kne.17283$(E-Mail Removed). ..
> 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.


 
Reply With Quote
 
Bob Barrows [MVP]
Guest
Posts: n/a
 
      06-01-2005
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.


 
Reply With Quote
 
David Patow
Guest
Posts: n/a
 
      06-09-2005
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.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
XMLHttpRequest + XMLDOM Trip ASP .Net 2 10-11-2005 03:45 PM
XMLHttpRequest + XMLDOM Trip ASP .Net 0 10-08-2005 05:25 PM
Loading an in-memory XmlDocument directly into an XMLDOM object Robert Zurer ASP .Net 0 06-28-2005 03:05 AM
? ELSE Conditional Comment / Using Conditional Comments Inside Other Tags To Comment Out Attributes Alec S. HTML 10 04-16-2005 02:21 AM
Setting encoding type for parser Microsoft.XMLDOM Lamberti Fabrizio HTML 0 06-23-2004 04:59 PM



Advertisments