Click to See Complete Forum and Search --> : Using IXMLDOMNodePtr


wakthar
January 6th, 2003, 06:10 AM
Hi,

I have an IXMLDOMNodePtr called pChild and need to get the element that this node points to.
The element has an attribute called Number and I need to extract the value of this attribute.

For example

My xml code is as follows

<?xml version="1.0"?>
<?xml-stylesheet type='text/xml' href='dom.xsl'?>
<!--Contains the Servo Channel and Transducer properties-->
<NICard Type="PCI-MIO-16XE-10">
<ServoChan Number="0">
<ServoChanProperty_One>1</ServoChanProperty_One>
<ServoChanProperty_Two>2</ServoChanProperty_Two>
<ServoChanProperty_Three>3</ServoChanProperty_Three>
</ServoChan>
</NICard>


C++ code is as follows

pLoad_XMLDom->load("NICard.xml");
pLoad_DocRoot = pLoad_XMLDom->documentElement;
for(IXMLDOMNodePtr pChild = pLoad_DocRoot->firstChild; NULL != pChild; pChild = pChild->nextSibling)
{
GetBaseElement(pChild);
}



void CTNICard::GetBaseElement(IXMLDOMNodePtr pChild)
{
_bstr_t bstrServoChan = _T("ServoChan");
_bstr_t bstrTransducer = _T("Transducer");

if (pChild->nodeName == bstrServoChan)
{
// ####################################
// HERE I NEED TO GET THE ATTRIBUTE VALUE FOR NUMBER !!!!!
// ####################################
for(IXMLDOMNodePtr pChildOfServoChan = pChild->firstChild; NULL != pChildOfServoChan; pChildOfServoChan = pChildOfServoChan->nextSibling)
{
GetServoChanElements(pChildOfServoChan);
}
}
}


Cheers!!!