Programming

[Xerces] XML 읽기

정윤아빠 입니다. 2021. 3. 12. 11:01
반응형

Xerces를 이용한 XML 읽기 예제 소스이다.

Xerces는 많이 사용하는 라이브러리이지만, 의외로 자료 찾기가 쉽지 않네...

그래도 읽기는 어렵지 않은 듯...

try
{
	XMLPlatformUtils::Initialize();
}
catch (const XMLException& toCatch)
{
	std::cout << "Error during initialization!" << std::endl;
	return;
}

XercesDOMParser* parser = new XercesDOMParser;

if (parser)
{
	parser->setDoSchema(false);
	parser->setDoNamespaces(false);
	parser->setValidationScheme(XercesDOMParser::Val_Auto);
	parser->setCreateEntityReferenceNodes(false);
	try
	{
		parser->parse(file_path);
	}
	catch (...)
	{
		XMLPlatformUtils::Terminate();
		return;
	}
	xercesc::DOMDocument* XmlDoc = parser->getDocument();

	DOMElement* elementRoot = XmlDoc->getDocumentElement();

	if (elementRoot)
	{
		DOMNodeList* children = elementRoot->getChildNodes();
		int nodeCount = children->getLength();
		for (int index = 0; index < nodeCount; index++)
		{
			DOMNode* currentNode = children->item(index);
			string node_name(XMLString::transcode(currentNode->getNodeName()));

			if (node_name == "geometry")
			{
			}
			else if (node_name == "db")
			{
			}
			else if (node_name == "methods")
			{
			}
			else if (node_name == "optimum")
			{
			}
		}
	}
}

XMLPlatformUtils::Terminate();
반응형