Xerces DOMDocument C++ Parser로 HTML을로드하고 특정 HTML 요소를 검색하려고합니다. 이 작업을 수행하는 방법에 대한 좋은 예를 찾는 데 어려움이 있습니다. 내가 찾은 것만 큼 XML을 파싱하는 것입니다. 누군가가 도와 줄 수 있습니까? 감사.C++ Xerces Parser HTML로드 및 HTML 요소 검색
0
A
답변
1
이것 좀 봐 :뿐만 아니라 DOMDocument를 가진 예제가있다 http://xerces.apache.org/xerces-c/program-dom-3.html
:
// // 작은 문서 트리 //
{
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();
};
만들기 .. 너무 오래.
편집 :
하지만 어떻게 내가있는 DOMDocument에 HTML을로드하고 HTML 요소에 대해 검색하나요? 그게 뭔지 알아 내려고 뭐야.
XercesDOMParser parser;
parser.loadGrammar ("grammar.dtd", Grammar :: DTDGrammarType);
parser.setValidationScheme (XercesDOMParser :: Val_Always);
핸들러 핸들러;
parser.setErrorHandler (& handler);
parser.parse ("xmlfile.xml");
그러나 DOMDocument에 HTML을로드하고 html 요소를 검색하려면 어떻게해야합니까? 그게 뭔지 알아 내려고하는거야. – jkushner