Re: [xml-dev] MSXML4 : how to select a element with namespace prefix

From
Jeni Tennison <>
To
Anuga Laxmi Kanth Reddy <>
Date
2003-02-21T13:05:38Z
ID
<>
Thread
Re: [xml-dev] MSXML4 : how to select a element with namespace prefix
Hi Laxmikanth,

> Consider this sample...
>
> <?xml version="1.0"?>
> <alk:root xmlns:alk="http://foo" xmlns:xyz="http://goo">
>         <xyz:bar>somevalue</xyz:bar>
> </alk:root>
>
> Using MSXML4 how to select the element "xyz:bar"
>
> Without namespaces, i could do it simply via the "selectSingleNode"
> method. How to do it when namespaces are involved?

Set the "SelectionNamespaces" property to a string that looks like the
namespace declarations that you're using and then use those prefixes
in the path:

  XMLDOM.setProperty("SelectionLanguage", "XPath");
  XMLDOM.setProperty("SelectionNamespaces",
                     "xmlns:alk='http://foo' xmlns:xyz='http://goo'")
  nodes = XMLDOM.selectSingleNode("/alk:root/xyz:bar");

Note that all the namespaces that you use have to be assigned a
prefix -- any element name in the path that doesn't have a prefix will
be assumed to be in no namespace (rather than in a 'default
namespace').

Cheers,

Jeni

---
Jeni Tennison
http://www.jenitennison.com/