加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

UE4读取本地XML文件

发布时间:2020-12-16 02:12:16 所属栏目:百科 来源:网络整理
导读:其实这里读取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文件中添加本工程的头文件,比如这里是

[cpp] view plain copy
  1. #include"MatineeProject.h"
4.在UE4中的任意C++文件中,tinyxml的头文件

copy
#include"tinyxml.h"
  • #include"tinystr.h"
  • 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

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读