IXMLDOMDocument :: getElementsByTagName возвращает пустой список - PullRequest
0 голосов
/ 02 октября 2018

У меня есть этот код:

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?

Спасибо

...