NI TestStand

cancel
Showing results for 
Search instead for 
Did you mean: 

Create DOMDocument on Windows 8.1

Hello, I'm in the process of upgrading some TestStand code from Windows 7 to Windows 8.1, which uses MSXML to parse an xml file.

 

On Win 7 I was using the class DOMDocument to create an activex object of IXMLDOMDocument2 for parsing the xml and creating a reference to the desired node. The issue is that Win 8.1 only contains the class DOMDocument60 which can only be used to create an object of IXMLDOMDocument3. This is a problem as for some reason MS decided to make a major change in the way 'selectSingleNode' method functions between the two... http://www.vbforums.com/showthread.php?638520-DOMDocument-vs-DOMDocument60-and-selectSingleNode

 

My question is... does anyone know how to, in TestStand, create an object to DOMDocument (IXMLDOMDocument2) on Win 8.1 machine?

0 Kudos
Message 1 of 7
(7,134 Views)

I forgot to mention that the suggested solution of setting the property presolveExternals to True still does not allow for successful creation of node reference...

0 Kudos
Message 2 of 7
(7,133 Views)

This issue doesn't seem to pertain to TestStand directly, as TestStand is just going to be calling the ActiveX server as any other environment would. Is there functionality that you can't achieve with a IXMLDOMDocument3?

0 Kudos
Message 3 of 7
(7,102 Views)

Right, so the root issue pertains to microsoft and the change between using selectSingleNode in IXMLDOMDocument2 vs IXMLDOMDocument3.... but the issue I'm seeing is that I cannot deterministicly create an object for IXMLDOMDocument2 in teststand even though the capability has to be there.

 

I can't use IXMLDOMDocument3 to do what my code previously did, so creating that object for v2 is necessary. If I run the previous TestStand code that was created to use IXMLDOMDocument2, TestStand shows a conflict in the step and highlights red as it thinks it cannot find DOMDocument (IXMLDOMDocument2), but if executed it works as is with no issues.

 

The big reason this is not acceptable is because if i need to make any changes or right new functions that uses selectSingleNode i'm screwed! 😕

 

 

0 Kudos
Message 4 of 7
(7,094 Views)

Have you checked this functionality between Win 8 and 8.1 (as TestStand 2013 came out before Win 8.1)? Regardless, if Windows 8 doesn't support V2 like it did in Windows 7, I would suggest finding a work-around. Are you able to select IXMLDOMDocument2 from the dropdown menu?

0 Kudos
Message 5 of 7
(7,086 Views)

No, I haven't checked if theres a difference between Win 8 and Win 8.1... My employer has decided to release and standardize the next generation PC's for employee's with Win 8.l, so it needs to be compatible.

 

I am able to select IXMLDOMDocument2 from the dropdown menu, but it's not shown as a class which I can create an object from...

0 Kudos
Message 6 of 7
(7,058 Views)

This looks like Microsoft is not including the older interface in the type library of the new MSXML server, yet the objects you create seem to support it.

 

I think you should look into installing the older version of MSXML you are using. It might not be installed on Windows 8 by default, but you can probably get it from Microsoft's website somewhere.

 

-Doug

0 Kudos
Message 7 of 7
(7,050 Views)