コード例 #1
0
ファイル: xmldom.cpp プロジェクト: zhuxiaokun/workshop
BOOL XMLDomParser::OnCharacterData(const XML_Char *s, int len)
{
	XMLElementNode* pParent = m_stack.top();
	XMLTextNode* p = pParent->GetTextChild();
	if(!p)
	{
		// 严格遵循XML语法,不再Trim,否则会有bug by Allen 20131012
// 		s = this->Trim(s, len, len);
// 		if(!len) return TRUE;

		p = new XMLTextNode();
		pParent->AddChild(p);
	}
	p->AddText(s, len);
	return TRUE;
}
コード例 #2
0
ファイル: xmldom.cpp プロジェクト: zhuxiaokun/workshop
BOOL XMLDomParser::OnStartElement(const XML_Char *name, const XML_Char **atts)
{
	XMLElementNode* pParent = m_stack.top();

	XMLElementNode* pElemNode = new XMLElementNode();
	pElemNode->SetTagName(name);

	int i = 0;
	while(atts[i])
	{
		const char* n = atts[i];
		const char* val = atts[i+1];
		pElemNode->AddAttribute(n, val);
		i += 2;
	}

	pParent->AddChild(pElemNode);
	m_stack.push(pElemNode);
	return TRUE;
}