UE4读取本地XML文件
发布时间:2020-12-16 05:40:11 所属栏目:百科 来源:网络整理
导读:其实这里读取XML也是利用了Tinyxml来读取xml,主要是讲Tinyxml放在UE4中,遇到的一点点坑 1.先给出Tinyxml链接:http://www.grinninglizard.com/tinyxml/,可以下载他的工程 2.用UE4新建一个C++工程,将下图的几个文件添加到UE4.的工程中 3.并在tinyxml的cpp
其实这里读取XML也是利用了Tinyxml来读取xml,主要是讲Tinyxml放在UE4中,遇到的一点点坑 1.先给出Tinyxml链接:http://www.grinninglizard.com/tinyxml/,可以下载他的工程 2.用UE4新建一个C++工程,将下图的几个文件添加到UE4.的工程中
3.并在tinyxml的cpp文件中添加本工程的头文件,比如这里是 #include "MatineeProject.h"4.在UE4中的任意C++文件中,tinyxml的头文件 #include "tinyxml.h" #include "tinystr.h"5.尝试利用tinyxml的接口读取本地xml,主要注意一些变量类型的转换,UE4是自己的一套变量类型,并不适用tinyxml bool ReadXmlFile() { //工程的相对路径+文件名称 FString _FilePath= FPaths::GameDir() +"test.xml"; //将TCHAR转换char 并转UTF-8编码 int32 iLength = WideCharToMultiByte(CP_UTF8,*_FilePath,-1,NULL,NULL); char* path=new char[iLength+1]; WideCharToMultiByte(CP_UTF8,path,iLength,NULL); //创建一个XML的文档对象。 TiXmlDocument *myDocument = new TiXmlDocument(); if (myDocument->LoadFile(path)) { //获得根元素 TiXmlElement *RootElement = myDocument->RootElement(); //将char转为TCHAR utf-8编码 支持中文 const char* outchar = RootElement->Value(); iLength = MultiByteToWideChar(CP_UTF8,outchar,strlen(outchar) + 1,0); TCHAR* outTchar = new TCHAR[iLength + 1]; MultiByteToWideChar(CP_UTF8,outTchar,iLength); GEngine->AddOnScreenDebugMessage(-1,10,FColor::Red,outTchar); return true; } else { return false; } }6.运行截图,其他的具体操作,google百度tinyxml就可以了
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |