本文整理汇总了C++中XMLBuffer::getSize方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLBuffer::getSize方法的具体用法?C++ XMLBuffer::getSize怎么用?C++ XMLBuffer::getSize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLBuffer
的用法示例。
在下文中一共展示了XMLBuffer::getSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: process
//---------------------------------------------
Module::ProcessResultCode XMLProcessor::process()
{
XMLDocumentInput* pIn = static_cast<XMLDocumentInput*>(getInput("xml"));
CLAY_ASSERT(pIn);
if(pIn->isConnected())
{
XMLDocument* pDoc = pIn->getData();
XMLBuffer aBuffer;
if(!pDoc->writeToMemory(aBuffer))
{
return Module::Process_ERROR;
}
try
{
// Get the XQilla DOMImplementation object
XERCES::DOMImplementation* xqillaImplementation = XERCES::DOMImplementationRegistry::getDOMImplementation(S2X("XPath2 3.0"));
// Create a DOMLSParser object
AutoRelease<XERCES::DOMLSParser> parser(xqillaImplementation->createLSParser(XERCES::DOMImplementationLS::MODE_SYNCHRONOUS, 0));
parser->getDomConfig()->setParameter(XERCES::XMLUni::fgDOMNamespaces, true);
parser->getDomConfig()->setParameter(XERCES::XMLUni::fgXercesSchema, true);
parser->getDomConfig()->setParameter(XERCES::XMLUni::fgDOMValidateIfSchema, true);
// Parse a DOMDocument
XERCES::MemBufInputSource aInputSource(static_cast<const XMLByte*>(aBuffer.getData()), aBuffer.getSize(), S2X("fake-id"));
XERCES::Wrapper4InputSource aLSInput(&aInputSource, false);
XERCES::DOMDocument* pXercesDoc = parser->parse(&aLSInput);
if(pXercesDoc == 0)
{
return Module::Process_ERROR;
}
// Parse an XPath 2 expression
AutoRelease<XERCES::DOMXPathExpression> expression(pXercesDoc->createExpression(S2X(m_sXPathExpression.c_str()), 0));
// Execute the query
AutoRelease<XERCES::DOMXPathResult> result(expression->evaluate(pXercesDoc, XERCES::DOMXPathResult::ITERATOR_RESULT_TYPE, 0));
// Create a DOMLSSerializer to output the nodes
AutoRelease<XERCES::DOMLSSerializer> serializer(xqillaImplementation->createLSSerializer());
AutoRelease<XERCES::DOMLSOutput> output(xqillaImplementation->createLSOutput());
XERCES::StdOutFormatTarget target;
output->setByteStream(&target);
// Iterate over the results, printing them
while(result->iterateNext())
{
serializer->write(result->getNodeValue(), output);
std::cout << std::endl;
}
}
catch(const XERCES::DOMXPathException& e)
{
CLAY_LOG_ERROR(X2S(e.getMessage()));
}
catch(...)
{
CLAY_LOG_ERROR("XMLProcessor unknown exception");
}
}
return Module::Process_OK;
}