У меня есть этот код:
void MyObj::Foo(IXMLDOMDocument* pDoc, BSTR bstrNodeName, CComBSTR &bstrNodeValue)
{
IXMLDOMNodeList *pIDOMNodeList = NULL;
IXMLDOMNode *pIDOMNode = NULL;
long nItems = 0;
HRESULT hr = S_OK;
try
{
pDoc->getElementsByTagName(bstrNodeName, &pIDOMNodeList);
pIDOMNodeList->get_length(&nItems);
pIDOMNodeList->reset();
pIDOMNodeList->get_item(0, &pIDOMNode);
pIDOMNode->get_text(&bstrNodeValue);
}
catch(...)
{
LOG("caught an exception in Foo\n");
throw "Failed";
}
LOG(“Exit Foo”)
}
Вызов Foo с помощью L "RqstUUID"
XML:
<?xml version="1.0"?>
<SvcRes xmlns="MyRes">
<MyVer>1.0</MyVer>
<Svc>
<SvcParms>
<SvcID>MyTestId</SvcID>
<SvcVer>1.0</SvcVer>
<RqstUUID>00000001-2018-0110-1400-123456789123</RqstUUID>
</SvcParms>
</Svc>
</SvcRes>
Когда я запускаю код, я получаю исключениево время метода get_text.Добавлено больше печатных журналов, в которых значение 'nItems' равно 0, что означает, что я не получил никаких элементов из 'getElementsByTagName'.Есть идеи, почему я не получил ни одного элемента в pIDOMNodeList?
Спасибо