首页 > 其他分享 >UE4读取本地XML文件

UE4读取本地XML文件

时间:2022-12-13 14:38:06浏览次数:59  
标签:XML 读取 outchar char tinyxml UE4 NULL iLength


其实这里读取XML也是利用了Tinyxml来读取xml,主要是讲Tinyxml放在UE4中,遇到的一点点坑

1.先给出Tinyxml链接:​​http://www.grinninglizard.com/tinyxml/​​,可以下载他的工程

2.用UE4新建一个C++工程,将下图的几个文件添加到UE4.的工程中

UE4读取本地XML文件_类型转换

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, 0, *_FilePath, -1, NULL, 0, NULL, NULL);
char* path=new char[iLength+1];
WideCharToMultiByte(CP_UTF8, 0, *_FilePath, -1, path, iLength, NULL, 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, 0, outchar, strlen(outchar) + 1, NULL, 0);
TCHAR* outTchar = new TCHAR[iLength + 1];
MultiByteToWideChar(CP_UTF8, 0, outchar, strlen(outchar) + 1, outTchar, iLength);

GEngine->AddOnScreenDebugMessage(-1, 10, FColor::Red, outTchar);
return true;
}
else
{
return false;
}
}

6.运行截图,其他的具体操作,google百度tinyxml就可以了

UE4读取本地XML文件_tinyxml_02


标签:XML,读取,outchar,char,tinyxml,UE4,NULL,iLength
From: https://blog.51cto.com/u_15911199/5934034

相关文章

  • UE4读取scv文件 -- 数据驱动游戏性元素
    官方文档链接:​​http://docs.unrealengine.com/latest/CHN/Gameplay/DataDriven/index.html​​略懒,稍微麻烦重复的工作,总希望能找人帮忙一起做,但是有人对于稍微一点点的......
  • UE4 读取本地图片
    参考链接:​​https://answers.unrealengine.com/questions/235086/texture-2d-shows-wrong-colors-from-jpeg-on-html5-p.html​​我这里,不能将图片全放工程之中,需要在外部......
  • ExcelToObject.NPOI 两行代码导出Excel报表、读取Excel数据
    简介作为一个dotnet开发者,经常面对业务系统中大量报表导入导出,经常写了一堆的重复代码。最近发现一个操作excel的神器:ExcelToObject.NPOI,两行代码就能导出一个报表,两行代......
  • UE4实现闪烁效果
    官网文档链接:​​http://docs.unrealengine.com/latest/CHN/Engine/Rendering/Materials/ExpressionReference/Math/index.html?utm_source=editor&utm_medium=docs&utm_ca......
  • UE4利用Save Game创建全局变量
    因为盲目的做了一个UE4的项目,没有用到UE4的无缝加载,我只能在一个个关卡中手动切换,然后每次的数据都会重置,这对于项目来说,造成了体验感的极度下降。然而我查了一下怎样在UE4......
  • UE4帧动画Matineed
    发一句牢骚,ue4除了渲染好一点,其他操作都没有unity便利,最近需要在项目中,调几个简单的动画使用到了Matineed,相当不好用。也可能是unity转ue4,有先入为主的观念,哈哈,nevermind.1......
  • DataSet(DataTable)与XML互转
    usingSystem;usingSystem.Data;usingSystem.IO;usingSystem.Xml;usingSystem.Text;//相应C#代码:privatestringConvertDataTableToXML(Data......
  • 在asp.net中读取XML文件信息的4种方法
    在asp.net中读取XML文件信息的4种方法方法一:使用XML控件<%@PageLanguage="C#"%><html><body><h3><fontface="Verdana">读取XML方法一</font></h3>......
  • C#操作XML
    需要添加的命名空间:usingSystem.Xml;定义几个公共对象:XmlDocumentxmldoc;XmlNodexmlnode;XmlElementxmlelem;1,创建到服务器同名目录下的xml......
  • 记一次 pugixml 编译错误的解决
    记一次pugixml编译错误的解决原总结工具editpadvs编译错误filelocator缘起前一阵子,平台在换基线,底层接口变了很多,因此引出了至少​​20000​​pugixml-compile-error诡......