SetInput
Sets the input source of the XML document to be parsed.
Syntax
HRESULT SetInput ([in] IUnknown * pInput);
Arguments
pInput
The input stream to be parsed.
Return Value
Returns S_OK if no error is generated.
Remarks
The input source can be one of the following types:
A class derived from
IStream
orISequentialStream
. The reader will use defaults for all the additional properties of the input.IMalloc
and base URI will be empty. There will be no use of alternative character set encoding.IXmlReaderInput. The input is described by an instance of the
IXmlReaderInput
class. Using an instance of this class, the user can specify additional properties of the input (like alternative character set encoding and base URI). Use CreateXmlReaderInputWithEncodingCodePage or CreateXmlReaderInputWithEncodingName to get an instance ofIXmlReaderInput
.NULL. This resets the input, releasing the previously set input object.
The following code sets the input source for a reader:
//Open read-only input stream
if (FAILED(hr = SHCreateStreamOnFile(argv[1], STGM_READ, &pFileStream)))
{
wprintf(L"Error creating file reader, error is %08.8lx", hr);
return -1;
}
if (FAILED(hr = CreateXmlReader(__uuidof(IXmlReader), (void**) &pReader, NULL)))
{
wprintf(L"Error creating xml reader, error is %08.8lx", hr);
return -1;
}
if (FAILED(hr = pReader->SetProperty(XmlReaderProperty_DtdProcessing, DtdProcessing_Prohibit)))
{
wprintf(L"Error setting XmlReaderProperty_DtdProcessing, error is %08.8lx", hr);
return -1;
}
if (FAILED(hr = pReader->SetInput(pFileStream)))
{
wprintf(L"Error setting input for reader, error is %08.8lx", hr);
return -1;
}
Requirements
Header: XmlLite.h
Library: XmlLite.lib
See Also
CreateXmlReaderInputWithEncodingCodePage
CreateXmlReaderInputWithEncodingName
IXmlReader Methods