2013-01-21 3 views
0

Xerces DOMDocument C++ Parser로 HTML을로드하고 특정 HTML 요소를 검색하려고합니다. 이 작업을 수행하는 방법에 대한 좋은 예를 찾는 데 어려움이 있습니다. 내가 찾은 것만 큼 XML을 파싱하는 것입니다. 누군가가 도와 줄 수 있습니까? 감사.C++ Xerces Parser HTML로드 및 HTML 요소 검색

답변

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");

+0

그러나 DOMDocument에 HTML을로드하고 html 요소를 검색하려면 어떻게해야합니까? 그게 뭔지 알아 내려고하는거야. – jkushner