xmlsupport.h
来自「用bcg库编写的java IDE 源码」· C头文件 代码 · 共 65 行
H
65 行
#include "editlibExp.h"
struct EDITPADC_CLASS XMLattribute
{
CString m_strName;
CString m_strValue;
};
struct EDITPADC_CLASS XMLelement
{
CString m_strElementName;
CString m_strElementValue;
BOOL m_bAtomic;
CList<XMLattribute*,XMLattribute*>m_lAttributes;
CList<XMLelement*,XMLelement*> m_lNestedElements;
XMLelement()
{
m_bAtomic = FALSE;
}
~XMLelement()
{
for(POSITION nPos = m_lNestedElements.GetHeadPosition(); nPos !=NULL;)
delete m_lNestedElements.GetNext(nPos);
for(nPos = m_lAttributes.GetHeadPosition(); nPos !=NULL;)
delete m_lAttributes.GetNext(nPos);
}
};
#define XMLELEMENT_LIST CList<XMLelement*,XMLelement*>
class EDITPADC_CLASS CMiniXMLParser
{
bool m_bAtomicElement;
CString m_strToken;
int m_nIndex;
int m_nBufLength;
char* m_lszpBuf;
int m_nContext;
CList<XMLelement*,XMLelement*> m_lParsedTree;
public:
CMiniXMLParser(char* pBuf,int nLength);
~CMiniXMLParser();
bool parse();
XMLELEMENT_LIST* getXmlTree();
protected:
bool leftTag(XMLelement* pElement);
bool attributesOpt(XMLelement*pElement);
bool rightTag();
bool element(XMLelement* &pParent);
bool elementRest(XMLelement* pElement);
bool attributeName();
bool tagName();
bool attributeValue();
bool stringLiteral();
bool identfier();
bool getNextToken();
bool mainEntryPoint();
bool getNextTokenImpl();
bool comment();
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?