/*  根据所提供的字段取得第一个节点的值
搞不定了,请大家帮忙!
*/
CString XMLBaseAdaptor::getFieldValue(CString fieldName)
{
HRESULT hr;
IXMLDOMNode *pIDOMNode = NULL;
IXMLDOMNodeList *pIDOMNodeList = NULL;
IXMLDOMElement *pIDOMElement = NULL;
CString cstrTagName = "record";
CString cstrValue="";
BSTR bstrValue;
long length;
    _variant_t varXml("C:\\2.xml");
    _variant_t varOut((bool)TRUE);
try
{
varOut = indoc->load(varXml);
pIDOMNodeList = indoc->getElementsByTagName(cstrTagName.AllocSysString());
if (pIDOMNodeList)
{
hr = pIDOMNodeList->get_length(&length);
if(SUCCEEDED(hr))
{
pIDOMNodeList->reset();      
for(int ii = 0; ii < length; ii++)
{
hr = pIDOMNodeList->get_item(ii,&pIDOMNode);//这一句并未按意期执行.
SUCCEEDED(hr) ?0:throw hr;
if(pIDOMNode)
{
pIDOMNode->get_nodeName(&bstrValue);
TRACE0(bstrValue);
pIDOMNode->Release();
pIDOMNode = NULL;
}
}
}
pIDOMNodeList->Release();
pIDOMNodeList = NULL;
}
}
catch(...)
{
if (pIDOMNode)
pIDOMNode->Release();
if (pIDOMElement)
pIDOMElement->Release();
// pIDOMNodeList->Release();
}
return cstrValue;
}