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
>
>
|
|
|
| | Copyright 2003 - 2008 forum4designers.com Software forum Computer Hardware reviews |
|