【发布时间】:2021-02-03 08:35:19
【问题描述】:
我想用 xerces 创建一个 DOMDocument,但我得到一个空指针错误
此时:
DOMImplementation* impl = DOMImplementationRegistry::getDOMImplementation(tempStr, 0);
错误是:
xercesc_3_2::domImplementation 为 nullptr
我的代码是这样的:
//
// Create a small document tree
//
{
XMLCh tempStr[100];
XMLString::transcode("Range", tempStr, 99);
DOMImplementation* impl = DOMImplementationRegistry::getDOMImplementation(tempStr, 0);
XMLString::transcode("root", tempStr, 99);
DOMDocument* doc = impl->createDocument(0, tempStr, 0);
DOMElement* root = doc->getDocumentElement();
XMLString::transcode("FirstElement", tempStr, 99);
DOMElement* e1 = doc->createElement(tempStr);
root->appendChild(e1);
XMLString::transcode("SecondElement", tempStr, 99);
DOMElement* e2 = doc->createElement(tempStr);
root->appendChild(e2);
XMLString::transcode("aTextNode", tempStr, 99);
DOMText* textNode = doc->createTextNode(tempStr);
e1->appendChild(textNode);
// optionally, call release() to release the resource associated with the range after done
DOMRange* range = doc->createRange();
range->release();
// removedElement is an orphaned node, optionally call release() to release associated resource
DOMElement* removedElement = root->removeChild(e2);
removedElement->release();
// no need to release this returned object which is owned by implementation
XMLString::transcode("*", tempStr, 99);
DOMNodeList* nodeList = doc->getElementsByTagName(tempStr);
// done with the document, must call release() to release the entire document resources
doc->release();
};
取自https://xerces.apache.org/xerces-c/program-dom-3.html
我哪里错了?我该如何解决这个问题?
谢谢
【问题讨论】:
-
对不起,我错过了写这篇文章。是的,我完成了:“XMLPlatformUtils::Initialize()”
-
我不知道,但是这个link 描述了一个类似的问题。