Click here to Skip to main content
15,891,744 members
Articles / Desktop Programming / MFC

A simple XML Parser

Rate me:
Please Sign up or sign in to vote.
4.69/5 (13 votes)
28 Jan 2002CPOL 362.3K   5.8K   70  
A class to read and write non validated XML files
#if !defined(AFX_TextFile_H__0E251BDB_46E8_11D1_B541_00A024838B6B__INCLUDED_)
#define AFX_TextFile_H__0E251BDB_46E8_11D1_B541_00A024838B6B__INCLUDED_
// (C) 1996-2001 MAB Technologies
// 6521 Wrigley Way
// Fort Worth, TX 76133-5140
//
// CTextFile.h
#include "MabString.h"
//
/////////////////////////////////////////////////////////////////////////////

class CTextFile : public CFile
{
friend class CXML;
public: // create from serialization only
	CTextFile();
	~CTextFile();

protected:
	BOOL m_pEOF;
private:
	char *m_pBuffer;
	long m_bufpos;

public:
	CMabString m_line;
//  added for nastran file
	CMabString m_fldStr[10];
// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFile)
	//}}AFX_VIRTUAL

// Implementation
public:
	BOOL NoBlank;
	void SetNoBlank();
	void Reset();
	char NextChar();
	CString NextLine(char delim=(char)13);
	CString NextNasLine();
	BOOL isEOF();
// added for nastran support
	CMabString fld(int num);
private:
	long m_SizeFile;
// added for nastran support
	void FormatNasLine();
// Generated message map functions
protected:
	//{{AFX_MSG(CTextFile)//ChildFrame)
		// NOTE - the ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG
};

/////////////////////////////////////////////////////////////////////////////
#endif // !defined(AFX_TextFile_H__0E251BDB_46E8_11D1_B541_00A024838B6B__INCLUDED_)

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Retired
United States United States
Began programming in 1968 on a Wang 720. Move to Fortran and began developing FEM (finite element model) applications on an IBM 360 in 1973. Developed custom FEM editors for most of my career until 1995.

Comments and Discussions