0

XML ドキュメントの ISt​​ream を取得し、それを IXMLDOMDocument (msxml) にロードする簡単な方法はありますか? できれば、ストリームをディスクに書き込まないでください。

4

2 に答える 2

1

これをチェックしてください!より多くの例

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
}

VARIANT_TRUE

于 2013-06-13T20:59:35.437 に答える