This is Interesting: Free Magazines for Graphics designers and webmasters  


Home > Archive > Microsoft XML > August 2004 > Problem using SelectNodes from MSXML2.DOMDocument.4.0 in VBScript





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Problem using SelectNodes from MSXML2.DOMDocument.4.0 in VBScript
Chris Crowe

2004-08-30, 11:16 pm

I am having a problem using MSXML2.DOMDocument.4.0 and using SelectNodes() -
it returns nothing. If I use Microsoft.XMLDOM it works fine, but I want to
use the MSXML2.DOMDocument.4.0 prog ID.

Could someone please let me know what I need to fix.

Cheers

Chris

x.xml

<multistatus xmlns="DAV:"><response><href>User-560</href>
<propstat><prop><parents><dsref
handle="Group-24"><displayname><![CDATA[User Interface -
Advanced]]></displayname>
</dsref>
<dsref handle="Group-47"><displayname><![CDATA[User
Interface - Trimble Website]]></displayname>
</dsref>
<dsref
handle="Group-37"><displayname><![CDATA[Employees - TRL Content
Managers]]></displayname>
</dsref>
<dsref handle="Group-138"><displayname><![CDATA[User
Interface - Simple]]></displayname>
</dsref>
<dsref handle="Group-138"><displayname><![CDATA[User
Interface - Simple]]></displayname>
</dsref>
<dsref
handle="Group-165"><displayname><![CDATA[test]]></displayname>
</dsref>
<dsref
handle="Group-12"><displayname><![CDATA[Employees - (All) Marketing,
Service, Support & Training]]></displayname>
</dsref>
</parents>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>
</response>
</multistatus>

x.vbs

WScript.Echo "--------------Microsoft.XMLDOM---------------------"
Set objXMLDoc = CreateObject("Microsoft.XMLDOM")
objXMLDoc.async = False
objXMLDoc.load("x.xml")

Set NodeList = objXMLDoc.documentElement.selectNodes("response")
For Each Node In NodeList
WScript.echo Node.xml
Next
WScript.Echo "--------------MSXML2.DOMDocument.4.0---------------------"
Set objXMLDoc = CreateObject("MSXML2.DOMDocument.4.0")
objXMLDoc.async = False
objXMLDoc.load("x.xml")

Set NodeList = objXMLDoc.documentElement.selectNodes("response")
For Each Node In NodeList
WScript.echo Node.xml
Next


Chris Barber

2004-08-31, 4:17 am

Do you have error checking disabled (eg. On Resume Next)?

Try:

MSXML2.DOMDocument40

The .4.0 ProgID rarely works for me apart from (oddly enough) in web pages?

Chris.

"Chris Crowe" <chris.crowe@trimble.co.nz> wrote in message
news:OV9yHfvjEHA.3476@tk2msftngp13.phx.gbl...
I am having a problem using MSXML2.DOMDocument.4.0 and using SelectNodes() -
it returns nothing. If I use Microsoft.XMLDOM it works fine, but I want to
use the MSXML2.DOMDocument.4.0 prog ID.

Could someone please let me know what I need to fix.

Cheers

Chris

x.xml

<multistatus xmlns="DAV:"><response><href>User-560</href>
<propstat><prop><parents><dsref
handle="Group-24"><displayname><![CDATA[User Interface -
Advanced]]></displayname>
</dsref>
<dsref handle="Group-47"><displayname><![CDATA[User
Interface - Trimble Website]]></displayname>
</dsref>
<dsref
handle="Group-37"><displayname><![CDATA[Employees - TRL Content
Managers]]></displayname>
</dsref>
<dsref handle="Group-138"><displayname><![CDATA[User
Interface - Simple]]></displayname>
</dsref>
<dsref handle="Group-138"><displayname><![CDATA[User
Interface - Simple]]></displayname>
</dsref>
<dsref
handle="Group-165"><displayname><![CDATA[test]]></displayname>
</dsref>
<dsref
handle="Group-12"><displayname><![CDATA[Employees - (All) Marketing,
Service, Support & Training]]></displayname>
</dsref>
</parents>
</prop>
<status>HTTP/1.1 200 OK</status>
</propstat>
</response>
</multistatus>

x.vbs

WScript.Echo "--------------Microsoft.XMLDOM---------------------"
Set objXMLDoc = CreateObject("Microsoft.XMLDOM")
objXMLDoc.async = False
objXMLDoc.load("x.xml")

Set NodeList = objXMLDoc.documentElement.selectNodes("response")
For Each Node In NodeList
WScript.echo Node.xml
Next
WScript.Echo "--------------MSXML2.DOMDocument.4.0---------------------"
Set objXMLDoc = CreateObject("MSXML2.DOMDocument.4.0")
objXMLDoc.async = False
objXMLDoc.load("x.xml")

Set NodeList = objXMLDoc.documentElement.selectNodes("response")
For Each Node In NodeList
WScript.echo Node.xml
Next




---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.745 / Virus Database: 497 - Release Date: 27/08/2004


Chris Crowe

2004-08-31, 4:17 am

Thanks Chris for replying.

I found that the document has a xmlns="DAV:" which means that it filters
down when loading into the DOM.

This code works fine now.

WScript.Echo "--------------MSXML2.DOMDocument.4.0---------------------"
Set objXMLDoc = CreateObject("MSXML2.DOMDocument.4.0")
objXMLDoc.async = False
objXMLDoc.load("x.xml")
objXMLDoc.SetProperty "SelectionNamespaces", "xmlns:DAVNS='DAV:'"
Set NodeList =
objXMLDoc.documentElement.selectNodes("//DAVNS:response/DAVNS:propstat/DAVNS
:prop/DAVNS:parents/DAVNS:dsref")
For Each Node In NodeList
WScript.echo Node.Attributes.Item(0).Text
Next

Cheers

Chris

"Chris Barber" <chris@blue-canoe.co.uk.NOSPAM> wrote in message
news:#GfgiPwjEHA.2908@TK2MSFTNGP10.phx.gbl...
> Do you have error checking disabled (eg. On Resume Next)?
>
> Try:
>
> MSXML2.DOMDocument40
>
> The .4.0 ProgID rarely works for me apart from (oddly enough) in web

pages?
>
> Chris.
>
> "Chris Crowe" <chris.crowe@trimble.co.nz> wrote in message
> news:OV9yHfvjEHA.3476@tk2msftngp13.phx.gbl...
> I am having a problem using MSXML2.DOMDocument.4.0 and using

SelectNodes() -
> it returns nothing. If I use Microsoft.XMLDOM it works fine, but I want to
> use the MSXML2.DOMDocument.4.0 prog ID.
>
> Could someone please let me know what I need to fix.
>
> Cheers
>
> Chris
>
> x.xml
>
> <multistatus xmlns="DAV:"><response><href>User-560</href>
> <propstat><prop><parents><dsref
> handle="Group-24"><displayname><![CDATA[User Interface -
> Advanced]]></displayname>
> </dsref>
> <dsref handle="Group-47"><displayname><![CDATA[User
> Interface - Trimble Website]]></displayname>
> </dsref>
> <dsref
> handle="Group-37"><displayname><![CDATA[Employees - TRL Content
> Managers]]></displayname>
> </dsref>
> <dsref handle="Group-138"><displayname><![CDATA[User
> Interface - Simple]]></displayname>
> </dsref>
> <dsref handle="Group-138"><displayname><![CDATA[User
> Interface - Simple]]></displayname>
> </dsref>
> <dsref
> handle="Group-165"><displayname><![CDATA[test]]></displayname>
> </dsref>
> <dsref
> handle="Group-12"><displayname><![CDATA[Employees - (All) Marketing,
> Service, Support & Training]]></displayname>
> </dsref>
> </parents>
> </prop>
> <status>HTTP/1.1 200 OK</status>
> </propstat>
> </response>
> </multistatus>
>
> x.vbs
>
> WScript.Echo "--------------Microsoft.XMLDOM---------------------"
> Set objXMLDoc = CreateObject("Microsoft.XMLDOM")
> objXMLDoc.async = False
> objXMLDoc.load("x.xml")
>
> Set NodeList = objXMLDoc.documentElement.selectNodes("response")
> For Each Node In NodeList
> WScript.echo Node.xml
> Next
> WScript.Echo "--------------MSXML2.DOMDocument.4.0---------------------"
> Set objXMLDoc = CreateObject("MSXML2.DOMDocument.4.0")
> objXMLDoc.async = False
> objXMLDoc.load("x.xml")
>
> Set NodeList = objXMLDoc.documentElement.selectNodes("response")
> For Each Node In NodeList
> WScript.echo Node.xml
> Next
>
>
>
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.745 / Virus Database: 497 - Release Date: 27/08/2004
>
>



Sponsored Links


Copyright 2003 - 2008 forum4designers.com  Software forum  Computer Hardware reviews