UE4自带一个XmlParser,可以很方便的实现Xml的读写。
1,在PublicDependencyModuleNames.AddRange中添加XmlParser。
2,include XmlParser.h
读写操作封装在了xmlobject 需要根据需求增加 修改
xmlobject.h
// Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include <map> /** * */ struct NodeStruct { FString tag; FString content; NodeStruct(FString Tag,FString Content) { tag = Tag; content = Content; } }; class TESTJIGOU_API XmlFileObject { public: XmlFileObject(const FString &filePath, const FString &fileName,int NodeCount = 0,...); ~XmlFileObject(); public: class FXmlFile* m_File; class FXmlNode* m_RootNode; FString m_FilePath; FString m_FileName; bool loadFileSuccess; public: bool SetNode(const FString &tag, const FString &content); bool SetNode(const FString &tag, int content); bool SetNode(const FString &tag, float content); bool AddChild(const FString &ParentNodeTag,const FString& ChildNodeTag,const FString &ChildNodeContent); bool AddChild(FXmlNode* ParentNode, const FString& ChildNodeTag, const FString& ChildNodeContent); FXmlNode* GetNode(const FString& tag,const FString &content); FXmlNode* GetChildNode(FXmlNode* TargetNode, const FString& ChildTag); FXmlNode* GetChildNode(FXmlNode* TargetNode, const FString& ChildTag, const FString& ChildContent); const TCHAR* GetChildNodeContent(FXmlNode* TargetNode, const FString& ChildTag); const TCHAR* GetNodeContent(const FString &tag); private: void Save(); };