C++ HTTP Stack  0.10
클래스 | 타입정의 | 열거형 타입 | 함수
HtmlParser

HTML 문서 파서/생성 라이브러리 더 자세히 ...

클래스

class  CHtmlAttributeValue
 HTML 애트리뷰트의 값을 저장하는 클래스 더 자세히 ...
class  CHtmlElement
 HTML element 문자열을 파싱하여서 저장하는 클래스 더 자세히 ...

타입정의

typedef std::map< std::string,
CHtmlAttributeValue
HTML_ATTRIBUTE_MAP
 HTML attribute map.
typedef std::map< std::string,
char > 
HTML_CLASS_MAP
 HTML class map.
typedef std::list< CHtmlElementHTML_ELEMENT_LIST
 CHtmlElement 객체 리스트

열거형 타입

enum  EHtmlElementType { E_HET_NULL, E_HET_SCRIPT, E_HET_NOT_CLOSED }
 HTML element 의 종류 더 자세히 ...

함수

int CHtmlElement::Parse (const char *pszText, int iTextLen)
 HTML 문자열을 파싱하여서 멤버 변수에 저장한다.
int CHtmlElement::Parse (std::string &strText)
 XML 문자열을 파싱하여서 멤버 변수에 저장한다.
int CHtmlElement::ToString (char *pszText, int iTextSize, bool bUseTab=false, int iDepth=0)
 멤버 변수에 저장된 값을 이용하여서 XML 문자열을 생성한다.
void CHtmlElement::ToString (std::string &strText, bool bUseTab=false, int iDepth=0)
 멤버 변수에 저장된 값을 이용하여서 XML 문자열을 생성한다.
void CHtmlElement::GetText (std::string &strText)
 TAG 를 제외한 텍스트만 가져온다.
void CHtmlElement::GetText (std::string &strText, bool(*Allow)(CHtmlElement *pclsElement))
 TAG 를 제외한 텍스트만 가져온다.
void CHtmlElement::Clear ()
 멤버 변수를 초기화시킨다.
const char * CHtmlElement::SelectAttribute (const char *pszName)
 애트리뷰트에 해당하는 값을 검색한다.
const char * CHtmlElement::SelectAttributeTrim (const char *pszName)
 애트리뷰트에 해당하는 값을 검색한다.
bool CHtmlElement::SelectAttribute (const char *pszName, std::string &strValue)
 애트리뷰트에 해당하는 값을 검색한다.
bool CHtmlElement::SelectAttributeTrim (const char *pszName, std::string &strValue)
 애트리뷰트에 해당하는 값을 검색한다.
bool CHtmlElement::SelectAttribute (const char *pszName, int &iValue)
 애트리뷰트에 해당하는 값을 검색하여 int 변수에 저장한다.
CHtmlElementCHtmlElement::SelectElement (const char *pszName, const int iIndex=0)
 하위 Element 를 검색한다.
CHtmlElementCHtmlElement::SelectElement (const int iIndex)
 하위 Element 를 검색한다.
bool CHtmlElement::SelectElementList (const char *pszName, HTML_ELEMENT_LIST &clsList)
 하위 Element 를 검색하여서 Element 리스트에 저장한다.
const char * CHtmlElement::GetElementData (const char *pszName, const int iIndex=0)
 하위 Element 의 값 문자열의 포인터를 리턴한다.
const char * CHtmlElement::GetElementDataTrim (const char *pszName, const int iIndex=0)
 하위 Element 의 값 문자열의 포인터를 리턴한다.
bool CHtmlElement::SelectElementData (const char *pszName, std::string &strData, const int iIndex=0)
 하위 Element 를 검색하여서 내용을 저장한다.
bool CHtmlElement::SelectElementTrimData (const char *pszName, std::string &strData, const int iIndex=0)
 하위 Element 를 검색하여서 내용을 저장한다.
const char * CHtmlElement::GetName ()
 Element 이름을 리턴한다.
const char * CHtmlElement::GetData ()
 Element 내용을 리턴한다.
bool CHtmlElement::IsDataEmpty ()
 Element 내용이 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHtmlElement::IsId (const char *pszId)
 id 인지 검사한다.
bool CHtmlElement::IsClass (const char *pszClass)
 class 인지 검사한다.
void CHtmlElement::SetName (const char *pszText, int iNameLen)
 TAG 이름을 저장한다.
void CHtmlElement::AddAttribute (std::string &strName, std::string &strValue, char cSep)
 애트리뷰트를 저장한다.
void CHtmlElement::AddClass (const char *pszClass, int iClassLen=-1)
 class 를 저장한다.

상세한 설명

HTML 문서 파서/생성 라이브러리

타입정의 문서화

typedef std::map< std::string, CHtmlAttributeValue > HTML_ATTRIBUTE_MAP

HTML attribute map.

key 는 attribute 이름이고 value 는 attribute 값이다.

typedef std::map< std::string, char > HTML_CLASS_MAP

HTML class map.

key 는 class 이름이고 value 은 의미가 없다.

typedef std::list< CHtmlElement > HTML_ELEMENT_LIST

CHtmlElement 객체 리스트

열거형 타입 문서화

HTML element 의 종류

열거형 멤버:
E_HET_NULL 
E_HET_SCRIPT 
E_HET_NOT_CLOSED 

함수 문서화

void CHtmlElement::AddAttribute ( std::string &  strName,
std::string &  strValue,
char  cSep 
)
protected

애트리뷰트를 저장한다.

매개변수
strName애트리뷰트 이름
strValue애트리뷰트 값
cSep애티리뷰트 값 구분 문자
void CHtmlElement::AddClass ( const char *  pszClass,
int  iClassLen = -1 
)
protected

class 를 저장한다.

매개변수
pszClassclass 문자열
iClassLenclass 문자열 길이
void CHtmlElement::Clear ( )

멤버 변수를 초기화시킨다.

const char * CHtmlElement::GetData ( )

Element 내용을 리턴한다.

반환값
Element 내용을 리턴한다.
const char * CHtmlElement::GetElementData ( const char *  pszName,
const int  iIndex = 0 
)

하위 Element 의 값 문자열의 포인터를 리턴한다.

매개변수
pszName하위 Element 이름
iIndex하위 Element 인덱스. 0 을 입력하면 첫번째 검색된 하위 Element 를 리턴하고 1 을 입력하면 두번째 검색된 하위 Element 를 리턴한다.
반환값
하위 Element 이름이 존재하면 해당 Element 의 값 문자열의 포인터를 리턴하고 그렇지 않으면 NULL 을 리턴한다.
const char * CHtmlElement::GetElementDataTrim ( const char *  pszName,
const int  iIndex = 0 
)

하위 Element 의 값 문자열의 포인터를 리턴한다.

매개변수
pszName하위 Element 이름
iIndex하위 Element 인덱스. 0 을 입력하면 첫번째 검색된 하위 Element 를 리턴하고 1 을 입력하면 두번째 검색된 하위 Element 를 리턴한다.
반환값
하위 Element 이름이 존재하면 해당 Element 의 값 문자열의 포인터를 리턴하고 그렇지 않으면 NULL 을 리턴한다.
const char * CHtmlElement::GetName ( )

Element 이름을 리턴한다.

반환값
Element 이름을 리턴한다.
void CHtmlElement::GetText ( std::string &  strText)

TAG 를 제외한 텍스트만 가져온다.

매개변수
strText[out] TAG 를 제외한 텍스트를 저장할 변수
void CHtmlElement::GetText ( std::string &  strText,
bool(*)(CHtmlElement *pclsElement)  Allow 
)

TAG 를 제외한 텍스트만 가져온다.

매개변수
strText[out] TAG 를 제외한 텍스트를 저장할 변수
Allow텍스트를 가져올 HTML element 인지 검사하는 함수
bool CHtmlElement::IsClass ( const char *  pszClass)

class 인지 검사한다.

매개변수
pszClassclass
반환값
입력된 class 와 일치하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHtmlElement::IsDataEmpty ( )

Element 내용이 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.

반환값
Element 내용이 존재하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
bool CHtmlElement::IsId ( const char *  pszId)

id 인지 검사한다.

매개변수
pszIdid
반환값
입력된 id 와 일치하면 true 를 리턴하고 그렇지 않으면 false 를 리턴한다.
int CHtmlElement::Parse ( const char *  pszText,
int  iTextLen 
)

HTML 문자열을 파싱하여서 멤버 변수에 저장한다.

매개변수
pszTextHTML 문자열
iTextLenHTML 문자열 길이
반환값
성공하면 파싱한 HTML 문자열의 길이를 리턴하고 그렇지 않으면 -1 를 리턴한다.
int CHtmlElement::Parse ( std::string &  strText)

XML 문자열을 파싱하여서 멤버 변수에 저장한다.

매개변수
strTextXML 문자열
반환값
성공하면 파싱한 XML 문자열의 길이를 리턴하고 그렇지 않으면 -1 를 리턴한다.
const char * CHtmlElement::SelectAttribute ( const char *  pszName)

애트리뷰트에 해당하는 값을 검색한다.

매개변수
pszName애트리뷰트 이름
반환값
성공하면 애트리뷰트의 값을 리턴하고 그렇지 않으면 NULL 을 리턴한다.
bool CHtmlElement::SelectAttribute ( const char *  pszName,
std::string &  strValue 
)

애트리뷰트에 해당하는 값을 검색한다.

매개변수
pszName애트리뷰트 이름
strValue애트리뷰트 값
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CHtmlElement::SelectAttribute ( const char *  pszName,
int &  iValue 
)

애트리뷰트에 해당하는 값을 검색하여 int 변수에 저장한다.

매개변수
pszName애트리뷰트 이름
iValue애트리뷰트 값
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
const char * CHtmlElement::SelectAttributeTrim ( const char *  pszName)

애트리뷰트에 해당하는 값을 검색한다.

값의 앞, 뒤 공백을 제거한 문자열의 포인터를 리턴한다.

매개변수
pszName애트리뷰트 이름
반환값
성공하면 애트리뷰트의 값을 리턴하고 그렇지 않으면 NULL 을 리턴한다.
bool CHtmlElement::SelectAttributeTrim ( const char *  pszName,
std::string &  strValue 
)

애트리뷰트에 해당하는 값을 검색한다.

검색에 성공하면 값의 왼쪽, 오른쪽 공백을 제거한다.

매개변수
pszName애트리뷰트 이름
strValue애트리뷰트 값
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
CHtmlElement * CHtmlElement::SelectElement ( const char *  pszName,
const int  iIndex = 0 
)

하위 Element 를 검색한다.

매개변수
pszName하위 Element 이름
iIndex하위 Element 인덱스. 0 을 입력하면 첫번째 검색된 하위 Element 를 리턴하고 1 을 입력하면 두번째 검색된 하위 Element 를 리턴한다.
반환값
성공하면 하위 Element 객체의 포인터를 리턴하고 그렇지 않으면 NULL 을 리턴한다.
CHtmlElement * CHtmlElement::SelectElement ( const int  iIndex)

하위 Element 를 검색한다.

매개변수
iIndex하위 Element 인덱스. 0 을 입력하면 첫번째 검색된 하위 Element 를 리턴하고 1 을 입력하면 두번째 검색된 하위 Element 를 리턴한다.
반환값
성공하면 하위 Element 객체의 포인터를 리턴하고 그렇지 않으면 NULL 을 리턴한다.
bool CHtmlElement::SelectElementData ( const char *  pszName,
std::string &  strData,
const int  iIndex = 0 
)

하위 Element 를 검색하여서 내용을 저장한다.

매개변수
pszName하위 Element 이름
strData하위 Elemnet 의 내용을 저장할 변수
iIndex하위 Element 인덱스. 0 을 입력하면 첫번째 검색된 하위 Element 를 리턴하고 1 을 입력하면 두번째 검색된 하위 Element 를 리턴한다.
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CHtmlElement::SelectElementList ( const char *  pszName,
HTML_ELEMENT_LIST clsList 
)

하위 Element 를 검색하여서 Element 리스트에 저장한다.

매개변수
pszName하위 Element 이름
clsList하위 Element 를 저장할 변수
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
bool CHtmlElement::SelectElementTrimData ( const char *  pszName,
std::string &  strData,
const int  iIndex = 0 
)

하위 Element 를 검색하여서 내용을 저장한다.

검색에 성공하면 내용의 왼쪽, 오른쪽 공백을 제거한다.

매개변수
pszName하위 Element 이름
strData하위 Elemnet 의 내용을 저장할 변수
iIndex하위 Element 인덱스. 0 을 입력하면 첫번째 검색된 하위 Element 를 리턴하고 1 을 입력하면 두번째 검색된 하위 Element 를 리턴한다.
반환값
성공하면 true 를 리턴하고 실패하면 false 를 리턴한다.
void CHtmlElement::SetName ( const char *  pszText,
int  iNameLen 
)
protected

TAG 이름을 저장한다.

매개변수
pszTextTAG 이름
iNameLenTAG 이름 길이
int CHtmlElement::ToString ( char *  pszText,
int  iTextSize,
bool  bUseTab = false,
int  iDepth = 0 
)

멤버 변수에 저장된 값을 이용하여서 XML 문자열을 생성한다.

매개변수
pszTextXML 문자열을 저장할 변수
iTextSizeXML 문자열을 저장할 변수의 크기
bUseTabTAB 문자를 사용하는가? 하위 element 시작시 TAB 문자를 넣어주고 싶으면 true 를 입력하고 그렇지 않으면 false 를 입력한다.
iDepthXML 하위 element 깊이. 맨 위의 XML element 는 0 이고 그 하위 element 는 1 이다.
반환값
생성된 XML 문자열의 길이를 리턴한다.
void CHtmlElement::ToString ( std::string &  strText,
bool  bUseTab = false,
int  iDepth = 0 
)

멤버 변수에 저장된 값을 이용하여서 XML 문자열을 생성한다.

매개변수
strTextXML 문자열을 저장할 변수
bUseTabTAB 문자를 사용하는가? 하위 element 시작시 TAB 문자를 넣어주고 싶으면 true 를 입력하고 그렇지 않으면 false 를 입력한다.
iDepthXML 하위 element 깊이. 맨 위의 XML element 는 0 이고 그 하위 element 는 1 이다.