HBufC8* CNcdRequestBase::ExternalizeL() { DLTRACEIN(("")); const TXmlEngSerializationOptions KSerializationOptions = TXmlEngSerializationOptions( 0x09, KSerializationOptionUtf8 ); #ifndef RD_XML_ENGINE_API_CHANGE TXmlEngString str; iDocument.SaveL(str, iRoot, KSerializationOptions); str.PushL(); HBufC8* buf = HBufC8::NewL( str.Size() ); *buf = str.PtrC8(); // Free the original C-string CleanupStack::PopAndDestroy(); #else RBuf8 rbuf; iDocument.SaveL( rbuf, iRoot, KSerializationOptions ); CleanupClosePushL( rbuf ); HBufC8* buf = rbuf.AllocL(); CleanupStack::PopAndDestroy(); // rbuf #endif DLTRACEOUT(("")); return buf; }
// ----------------------------------------------------------------------------- // CUpnpXmlContentFilter::SerializeLC // ----------------------------------------------------------------------------- // HBufC8* CUpnpXmlContentFilter::SerializeLC(RXmlEngDocument& aDoc, TXmlEngElement& aElement ) { CUpnpXmlContentFilter* nodefilter = new (ELeave) CUpnpXmlContentFilter(); CleanupStack::PushL(nodefilter); RBuf8 buf; CleanupClosePushL( buf ); TXmlEngSerializationOptions options( TXmlEngSerializationOptions::KOptionOmitXMLDeclaration | TXmlEngSerializationOptions::KOptionIncludeNsPrefixes); options.SetNodeFilter(nodefilter); aDoc.SaveL( buf, aElement, options ); HBufC8* res = buf.AllocL(); CleanupStack::PopAndDestroy( &buf ); CleanupStack::PopAndDestroy( nodefilter ); CleanupStack::PushL(res); return res; }