xmlkit.cpp

来自「粗糙集应用软件」· C++ 代码 · 共 71 行

CPP
71
字号
//-------------------------------------------------------------------
// Author........: Aleksander 豩rn
// Date..........:
// Description...:
// Revisions.....:
//===================================================================

#include <stdafx.h> // Precompiled headers.
#include <copyright.h>

#include <kernel/utilities/xmlkit.h>

#include <kernel/basic/macros.h>

//-------------------------------------------------------------------
// Methods for class XMLKit.
//===================================================================

//-------------------------------------------------------------------
// Method........: Escape
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Escapes certain characters in a string.
// Comments......:
// Revisions.....:
//===================================================================

String
XMLKit::Escape(const String &unescaped, const String &escapees) {

	int i, length = unescaped.GetLength();

	String escaped;

	// The result will have at least this many characters.
	escaped.Reserve(length);

	for (i = 0; i < length; i++) {
		if (escapees.Contains(unescaped[i]))
			escaped += Escape(unescaped[i]);
		else
			escaped += unescaped[i];
	}

	return escaped;

}

//-------------------------------------------------------------------
// Method........: Escape
// Author........: Aleksander 豩rn
// Date..........:
// Description...: Escapes a character.
// Comments......:
// Revisions.....:
//===================================================================

String
XMLKit::Escape(char character) {

	switch (character) {
		case '&': return "&amp;";
		case '<': return "&lt;";
		case '>': return "&gt;";
		case '"': return "&quot;";
		default:  return "&#" + String::Format(static_cast(unsigned char, character)) + ";";
	}

}

⌨️ 快捷键说明

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