2011-12-17 1 views
0

웹 사이트의 메타 태그를 구문 분석하고 싶습니다. 이를 위해 저는 xerces-c를 사용합니다.Xerces-C : HTML 내부의 Javascript를 파싱하십시오.

shared_ptr<SAX2XMLReader> parser(XMLReaderFactory::createXMLReader()); 

//Create and set callback handler with the given callback functions 
Handler handler(startElement,endElement,characters); 
parser->setContentHandler(&handler); 
parser->setErrorHandler(&handler); 

//Parse the file with the given callback handler 
parser->parse(filename.c_str()); 

일부 웹 사이트에는 이제 javascript가 있습니다. 스크립트 태그 안에 javascript는 논리적 및에 대해 & & 연산자를 사용합니다.

의 Xerces-C (예 & NBSP 용) 엔티티 기준으로 해석하고이 엔터티 참조 & &을 모르기 때문에 예외를 던진다.

정확하게 이것을 텍스트로 읽을 수있는 방법이 있습니까?

그렇지 않으면 스크립트 태그 안의 모든 문자를 무시하는 방법이 있습니까? 어쨌든 나는 그들을 필요로하지 않는다. 메타 태그를 분석하고 싶습니다.

+0

XHTML이 아닌 이상 HTML을 XML 파서로 구문 분석하는 것이 좋은 생각입니까? Javascript는 CDATA 섹션에서 제대로 이스케이프되어야합니다. 그렇지 않으면 Xerces를 통과하기 전에 HTML/JS 코드를 먼저 정리해야합니다. – lkuty

답변

2

기본적으로 html은 반드시 xml 형식이어야하지만, 예를 들어 tidy으로 사전 처리하여 xml 파서에 제공 할 수 있습니다.

관련 문제