XmlParser 简单读取

XmlParser 为引擎自带模块

XML 文件

<?xml version="1.0" encoding="UTF-8"?>
<Movie Name="悬崖之上">
<Category>剧情/悬疑/动作</Category>
<Director>张艺谋</Director>
<Time>2021-04-30</Time>
</Movie>

build.cs 添加 XmlParser 模块

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "UMG", "Json","XmlParser" });

读取数据

引擎支持读写操作,写入操作可以通过 SetContent 和 AppendChildNode进行扩展。代码中的一些方法为私有,可见引擎建议进行读取操作。

  • FXmlFile

    • LoadFile
    • Clear
    • IsValid
    • GetRootNode
    • Save
  • FXmlNode

    • GetNextNode
    • GetChildrenNodes
    • GetFirstChildNode
    • FindChildNode
    • GetTag
    • GetContent
    • SetContent
    • GetAttributes
    • GetAttribute
    • AppendChildNode
  • 简单实现

    FString XmlPath = FPaths::ProjectDir() + TEXT("DataDrive/Movies.xml");
    XmlPath = FPaths::ConvertRelativePathToFull(XmlPath);
    if (FPaths::FileExists(XmlPath))
    {
    FXmlFile* XmlFile = new FXmlFile(XmlPath);
    // 获取根节点
    FXmlNode* RootNode = XmlFile->GetRootNode();
    // 获取属性值
    FString MovieName = RootNode->GetAttribute(TEXT("Name")); // 获取子节点
    FXmlNode* CategoryNode = RootNode->FindChildNode(TEXT("Category"));
    // 获取子节点的值
    FString MovieCategory = CategoryNode->GetContent(); FString MovieDirector = RootNode->FindChildNode(TEXT("Director"))->GetContent();
    FString MovieTime = RootNode->FindChildNode(TEXT("Time"))->GetContent(); UE_LOG(LogTemp, Warning, TEXT("%s\t%s\t%s\t%s\t"), *MovieName, *MovieCategory, *MovieDirector, *MovieTime);
    }

使用 tinyxml第三方库

tinyxml

待续

【UE4 C++】解析与构建 XML 数据,XmlParser 与 tinyxml的更多相关文章

  1. C#解析json和xml数据

    C#解析json和xml数据 // 用到的包using Newtonsoft.Json; // using Newtonsoft.Json.Linq; const string value = &qu ...

  2. Ajax--PHP+JQuery+Ajax解析json、XML数据、加载页面

    一.JQuery+Ajax用get.post方式提交和请求数据 知识要点: $('#userName').blur(function () { var txt = $(this).val(); $.a ...

  3. java 解析http返回xml数据

    //post 请求 private static String sendPost(String url, String urlParameters) throws Exception { URL ob ...

  4. 手把手教你SOAP访问webservice并DOM解析返回的XML数据(转)

    http://blog.csdn.net/u012534831/article/details/51357111 前言: 目前我们项目组还在采用webservice这种http方式,并且某些网站服务提 ...

  5. 【UE4 C++】 解析与构建 Json 数据

    准备条件 Json 格式 { "Players":[ { "Name": "Player1", "health": 20 ...

  6. iOS 详解NSXMLParser方法解析XML数据方法

    前一篇文章已经介绍了如何通过URL从网络上获取xml数据.下面介绍如何将获取到的数据进行解析. 下面先看看xml的数据格式吧! <?xml version="1.0" enc ...

  7. XML数据的解析

    XML数据的解析 相比于JSON数据解析而言,XML数据解析可能会让更多的童鞋感觉到吃力,对我来说,同样认为JSON数据好像让人感觉比较友好,不过对于程序开发者来说,无非就是这两种数据解析占比较大的部 ...

  8. Android网络之数据解析----SAX方式解析XML数据

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  9. (四)SAX方式解析XML数据

    SAX方式解析XML数据 ​文章来源:http://www.cnblogs.com/smyhvae/p/4044170.html 一.XML和Json数据的引入: 通常情况下,每个需要访问网络的应用程 ...

随机推荐

  1. Python - 面向对象编程 - __repr__()

    为什么要讲 __repr__ 在 Python 中,直接 print 一个实例对象,默认是输出这个对象由哪个类创建的对象,以及在内存中的地址(十六进制表示) 假设在开发调试过程中,希望使用 print ...

  2. Selenium系列(十七) - Web UI 自动化基础实战(4)

    如果你还想从头学起Selenium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1680176.html 其次,如果你不懂前端基础知识, ...

  3. 2021.9.12周六PAT甲级考试复盘与总结

    周六PAT甲级考试复盘与总结 先说结论:仍未步入"高手"行列:现在的学习节奏与方法是对的,有十万分的必要坚持下去. 题目 知识点 分数 T1 前缀和.二分 11 / 20 T2 排 ...

  4. Tars | 第8篇 TarsJava Subset最终代码的执行流程与原理分析

    目录 前言 1. SubsetConf配置项的结构 1.1 SubsetConf 1.2 RatioConfig 1.3 KeyConfig 1.4 KeyRoute 1.5 SubsetConf的结 ...

  5. 洛谷P1056——排座椅(模拟,贪心,排序)

    https://www.luogu.org/problem/show?pid=1056 题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发 ...

  6. open failed: EACCES (Permission denied)

    出现背景:调用系统相册进行图片展示,但是没有成功,是空白的,且检查权限无问题 解决方法

  7. scrum项目冲刺_day03总结

    摘要:今日完成任务. 1.图像识别已完成,但是较为卡顿,仍需优化 2.语音输入正在进行 3.搜索功能正在进行 总任务: 一.appUI页面(已完成) 二.首页功能: 1.图像识别功能(基本完成) 2. ...

  8. ATR吊灯止损策略 (含有tbquant源码)

    ATR吊灯止损策略定义: 做多,止损放在最高价之下N个ATR. 做空,止损放在最低价之上N个ATR. 该策略生成的止损点就像是从市场最高价的"天花板"上悬挂下来的吊灯.所以命名为A ...

  9. Java基础系列(40)- Arrays类

    Arrays类 数据的工具类java.util.Arrays 由于数组对象本身并没有什么方法可以供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本的操作 查看 ...

  10. Docker系列(4)- run的流程和docker原理

    回顾HelloWorld流程 底层工作原理 Docker是怎么工作的? Docker是一个Client-Server结构的系统,Docker的守护进程运行在宿主机上.通过Socket从客户端访问 Do ...