本文整理汇总了C++中XmlDocument::getContent方法的典型用法代码示例。如果您正苦于以下问题:C++ XmlDocument::getContent方法的具体用法?C++ XmlDocument::getContent怎么用?C++ XmlDocument::getContent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XmlDocument
的用法示例。
在下文中一共展示了XmlDocument::getContent方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetRepository
MgByteReader* MgResourceDefinitionManager::GetRepository(
MgResourceIdentifier* resource)
{
assert(NULL != resource && resource->IsRoot());
Ptr<MgByteReader> byteReader;
MG_RESOURCE_SERVICE_TRY()
// Get the resource.
XmlDocument xmlDoc = GetDocument(*resource);
// Create a byte reader.
string document;
xmlDoc.getContent(document); // TODO: Improve performance by using getContentAsXmlInputStream?
Ptr<MgByteSource> byteSource = new MgByteSource(
(unsigned char*)document.c_str(), (INT32)document.length());
byteSource->SetMimeType(MgMimeType::Xml);
byteReader = byteSource->GetReader();
MG_RESOURCE_CONTAINER_CATCH_AND_THROW(L"MgResourceDefinitionManager.GetRepository")
return SAFE_ADDREF((MgByteReader*)byteReader);
}
示例2: GetResource
MgByteReader* MgResourceDefinitionManager::GetResource(
MgResourceIdentifier* resource, const MgDataBindingInfo* dataBindingInfo)
{
assert(NULL != resource);
Ptr<MgByteReader> byteReader;
MG_RESOURCE_SERVICE_TRY()
// Get the resource.
XmlDocument xmlDoc = GetDocument(*resource);
string document;
xmlDoc.getContent(document);
// Bind the data if required.
if (NULL != dataBindingInfo)
{
// Substitute all the tags if necessary.
XmlValue tagValue;
if (xmlDoc.getMetaData(MgResourceInfo::sm_metadataUri,
MgResourceInfo::sm_metadataNames[MgResourceInfo::Tags],
tagValue))
{
STRING resourceTags;
MgUtil::MultiByteToWideChar(tagValue.asString(), resourceTags);
// If there is no resource tag, then just do the substitution for
// the login username and password.
MgTagManager tagManager(resourceTags);
tagManager.SubstituteTags(*dataBindingInfo, document);
}
}
// Create a byte reader.
Ptr<MgByteSource> byteSource = new MgByteSource(
(unsigned char*)document.c_str(), (INT32)document.length());
byteSource->SetMimeType(MgMimeType::Xml);
byteReader = byteSource->GetReader();
MG_RESOURCE_CONTAINER_CATCH_AND_THROW(L"MgResourceDefinitionManager.GetResource")
return SAFE_ADDREF((MgByteReader*)byteReader);
}
示例3: ValidateDocument
void MgResourceDefinitionManager::ValidateDocument(XmlDocument& xmlDoc)
{
MG_RESOURCE_SERVICE_TRY()
MgResourceIdentifier resource(MgUtil::MultiByteToWideChar(xmlDoc.getName()));
// Skip XML schema validation on runtime resources.
if (!resource.IsRuntimeResource())
{
std::string xmlContent;
MgXmlUtil xmlUtil(xmlDoc.getContent(xmlContent));
DOMElement* rootNode = xmlUtil.GetRootNode();
if(NULL != rootNode)
{
assert(NULL != rootNode);
STRING rootName;
const XMLCh* tag = rootNode->getTagName();
if (NULL != tag)
{
rootName = X2W(tag);
assert(!rootName.empty());
}
STRING schemaName;
const XMLCh* attr = rootNode->getAttribute(X("xsi:noNamespaceSchemaLocation"));
if (NULL != attr)
{
schemaName = X2W(attr);
}
ValidateDocument(resource, rootName, schemaName);
}
}
MG_RESOURCE_CONTAINER_CATCH_AND_THROW(L"MgResourceDefinitionManager.ValidateDocument")
}
示例4: doGetDocument
//Get a document from the container using the document name
void doGetDocument( XmlTransaction &txn, XmlContainer &container, const std::string docname)
{
try {
std::cout << "Getting document '" << docname << "' from the container." << std::endl;
std::cout << "Return to continue: ";
getc(stdin);
std::cout << "\n";
//Get the document from the container using the document name
XmlDocument theDocument = container.getDocument(txn, docname);
std::string content;
std::cout << "Document name: " << theDocument.getName() << std::endl;
std::cout << theDocument.getContent(content) << std::endl;
}
//Catches XmlException
catch(std::exception &e) {
std::cerr << "Get document from container failed.\n";
std::cerr << e.what() << "\n";
txn.abort();
exit( -1 );
}
}