其实这里读取XML也是利用了Tinyxml来读取xml,主要是讲Tinyxml放在UE4中,遇到的一点点坑
1.先给出Tinyxml链接:http://www.grinninglizard.com/tinyxml/,可以下载他的工程
2.用UE4新建一个C++工程,将下图的几个文件添加到UE4.的工程中
3.并在tinyxml的cpp文件中添加本工程的头文件,比如这里是
4.在UE4中的任意C++文件中,tinyxml的头文件
5.尝试利用tinyxml的接口读取本地xml,主要注意一些变量类型的转换,UE4是自己的一套变量类型,并不适用tinyxml
copy
boolReadXmlFile()
{
//工程的相对路径+文件名称
FString_FilePath=FPaths::GameDir()+"test.xml";
//将TCHAR转换char并转UTF-8编码
int32iLength=WideCharToMultiByte(CP_UTF8,*_FilePath,-1,NULL,NULL);
char*path=newchar[iLength+1];
WideCharToMultiByte(CP_UTF8,path,iLength,248)">
//创建一个XML的文档对象。
TiXmlDocument*myDocument=newTiXmlDocument();
if(myDocument->LoadFile(path))
//获得根元素
TiXmlElement*RootElement=myDocument->RootElement();
//将char转为TCHARutf-8编码支持中文
constchar*outchar=RootElement->Value();
iLength=MultiByteToWideChar(CP_UTF8,outchar,strlen(outchar)+1,0);
TCHAR*outTchar=TCHAR[iLength+1];
MultiByteToWideChar(CP_UTF8,outTchar,iLength);
GEngine->AddOnScreenDebugMessage(-1,10,FColor::Red,outTchar);
returntrue;
}
else
false;
}
6.运行截图,其他的具体操作,google百度tinyxml就可以了
本文转自:http://blog.csdn.net/qq992817263/article/details/52595906
原文链接:https://www.f2er.com/xml/294624.html