⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 codegenerater.cpp

📁 从各种控件中获得数据 自动生成XML文档 并通过XSLT转换为其他形式的XML文档
💻 CPP
字号:
// Copyright by Johnson zhou. All right reserved.
// You can copy , modify and use as any purpose. I 'd like to see my name in 
// your credit.

#include "StdAfx.h"
#include "xmlParamResult.h"
#include "codegenerater.h"

CCodeGenerater::CCodeGenerater(void)
{
}

CCodeGenerater::~CCodeGenerater(void)
{
}

bool CCodeGenerater::Generate(CXMLParamResult &param,CXMLResult &fileInfo)
{
	CXMLFile xslHeaderFile,xslCppFile;
	CString strHeader,strHeaderXSL;
	CString strSrc, strSrcXSL;
	CString strHeaderResult, strSrcResult;
	if (!fileInfo.GetRecordParam (0,_T("header"),strHeader))
		return false;
	if(!fileInfo.GetRecordParam (0,_T("header_xsl"),strHeaderXSL))
		return false;
	if (!fileInfo.GetRecordParam (0,_T("src"),strSrc))
		return false;
	if (!fileInfo.GetRecordParam (0,_T("src_xsl"),strSrcXSL))
		return false;
	if (!DoFileTransform(strHeaderXSL,strHeaderResult,param))
		return false;
	if (!DoFileTransform(strSrcXSL,strSrcResult,param))
		return false;
	if (!WriteResultToFile(strHeader,strHeaderResult))
		return false;
	if (!WriteResultToFile(strSrc,strSrcResult))
		return false;
	return true;
}

bool CCodeGenerater::WriteResultToFile(const CString & strFileName, const CString & strContent)
{
	CStdioFile file;
	if (!file.Open ( strFileName,CFile::modeWrite | CFile::modeCreate ))
		return false;
	file.WriteString (strContent);
	file.Close ();
	return true;
}

bool CCodeGenerater::DoFileTransform(const CString & strXSL, CString & strResult, CXMLParamResult & param)
{
	CXMLFile xslFile;
	if (!xslFile.LoadFile (strXSL))
		return false;
	
	if(!param.TransformNode (xslFile,strResult))
		return false;
	//AfxMessageBox(strResult);
	return true;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -