0
Есть ли простой способ взять IStream документа XML, а затем загрузить его в файл IXMLDOMDocument (msxml)? Предпочтительно, не записывая поток на диск.IStream to MSXML DOMDocument
Есть ли простой способ взять IStream документа XML, а затем загрузить его в файл IXMLDOMDocument (msxml)? Предпочтительно, не записывая поток на диск.IStream to MSXML DOMDocument
Проверьте this вне! More example.
std::istream
на основе ISequentialStream
пример реализации: link. (ISequentialStream
- базовый класс IStream
).
// VARIANT_TRUE != TRUE !!!!!!!!!!!
VARIANT_BOOL retval = VARIANT_TRUE;
// document object created by CoCreateInstance
IXMLDOMDocument* xml_doc;
// own ISequentialStream/IStream instance (like example)
ISequentialStream* streamaddress;
// variant: could be IStream, ISequentialStream or IPersistStream
VARIANT xmlSource;
// variant init
VariantInit(&xmlSource);
// your object is an IUnknown interface
xmlSource.vt = VT_UNKNOWN;
// set its address
xmlSource.punkVal = streamaddress;
// load XML from stream
if ((xml_doc->load(xmlSource,&retval) == S_OK) && (retval == VARIANT_TRUE)) {
// done
}