【UE4 C++】解析与构建 XML 数据,XmlParser 与 tinyxml
2021/5/13 20:28:35
本文主要是介绍【UE4 C++】解析与构建 XML 数据,XmlParser 与 tinyxml,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-23DevExpress 怎么实现右键菜单(Context Menu)显示中文?-icode9专业技术文章分享
- 2024-12-22怎么通过控制台去看我的页面渲染的内容在哪个文件中呢-icode9专业技术文章分享
- 2024-12-22el-tabs 组件只被引用了一次,但有时会渲染两次是什么原因?-icode9专业技术文章分享
- 2024-12-22wordpress有哪些好的安全插件?-icode9专业技术文章分享
- 2024-12-22wordpress如何查看系统有哪些cron任务?-icode9专业技术文章分享
- 2024-12-21Svg Sprite Icon教程:轻松入门与应用指南
- 2024-12-20Excel数据导出实战:新手必学的简单教程
- 2024-12-20RBAC的权限实战:新手入门教程
- 2024-12-20Svg Sprite Icon实战:从入门到上手的全面指南
- 2024-12-20LCD1602显示模块详解