1.10 Unity中的数据存储 XML

一、XML

1.介绍

  • XML是一个文档后缀名是*.xml
  • XML是一个特殊格式的文档
  • XML是可扩展的标记性语言
  • XML是Extentsible Markup Language的缩 写
  • XML是由万维网联盟(W3C)创建的标记语言,用于定义编码人类和机器可以读取的文档的语法。它通过使用定义文档结构的标签以及如何存储和传输文档来实现这一点。

2.结构

3.生成

4.示例

using UnityEngine;
using UnityEngine.UI;
using System.Xml;public class DataTest : MonoBehaviour
{public Button b1;void Start(){b1.onClick.AddListener(CreateXML);}public void CreateXML(){//创建xml文件XmlDocument doc = new XmlDocument();//创建xml头XmlNode xmlNode = doc.CreateXmlDeclaration("1.0", "utf-8", null);//添加xml头doc.AppendChild(xmlNode);//创建xml根节点XmlElement root = doc.CreateElement("users");//添加xml根节点doc.AppendChild(root);//通过XmlNode创建根节点的子节点XmlNode xn_enement = doc.CreateNode(XmlNodeType.Element, "Name", null);XmlNode xn_enement2 = doc.CreateNode(XmlNodeType.Element, "Age", null);//设置子节点的值xn_enement.InnerText = "张三";xn_enement2.InnerText = "18";//创建属性XmlAttribute xa = doc.CreateAttribute("name");XmlAttribute xa2 = doc.CreateAttribute("age");//设置属性值xa.Value = "12345";xa2.Value = "";//获取元素的documentXmlDocument xd = xn_enement.OwnerDocument;//设置元素属性xn_enement.Attributes.SetNamedItem(xa);xn_enement2.Attributes.SetNamedItem(xa2);//通过XmlElement再创建一个根节点的子节点XmlElement element = doc.CreateElement("sex");element.SetAttribute("性别", "");element.InnerText = "男";//添加到子节点到root结点root.AppendChild(xn_enement);root.AppendChild(xn_enement2);root.AppendChild(element);//保存xmldoc.Save(Application.dataPath+"/test.xml");  }
}

5.读取和添加

    void AddXMLData(){string path = Application.dataPath + "/test3.xml";if (File.Exists(path)){XmlDocument xml = new XmlDocument();xml.Load(path);XmlNode root = xml.SelectSingleNode("users");XmlElement elementChild1 = xml.CreateElement("Hobby");elementChild1.SetAttribute("爱好", "");elementChild1.InnerText = "睡大觉";//把节点添加至xml中,注意他们之间的先后顺序,这是生成XML文件的顺序root.AppendChild(elementChild1);//最后保存文件xml.Save(path);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/338932.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

陶瓷碗口圆度检测案例-圆心定位与圆度检测

检测原理 从陶瓷外边界上面随机提取3个点,并以其行列位置为横纵坐标构造三对坐标点。利用此三点可确定三角形外心。公式计算如下: x0和y0为圆心的位置坐标,为标准圆的半径。 在实际中,存在以下两种情况会导致上述算法无法准确计…

MySQL 从零开始:02 MySQL 安装

文章目录 1、下载 MySQL 安装程序2、安装 MySQL 要操作 MySQL ,首先要安装 MySQL ,本文将一步步展示如何安装 MySQL,简直详细到令人发指。 环境: 操作系统:Windows10 64位MySQL版本:社区版 8.0.11.0 1、下…

办公自动应用,HR大屏可视化模板

大家可以进行资料下载。 完整的案例。 AIGC ChatGPT 职场案例 AI 绘画 与 短视频制作 PowerBI 商业智能 68集 数据库Mysql 8.0 54集 数据库Oracle 21C 142集 Office 2021实战应用 Python 数据分析实战, ETL Informatica 数据仓库案例实战 Excel 2021实操 100集&a…

C++面试宝典第18题:旋转数组

题目 给定一个数组,将数组中的元素向右移动k个位置,其中k是非负数。要求如下: (1)尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。 (2)使用时间复杂度为O(n)和空间复杂度为O(1)的原地算法解决这个问题。 示例 1: 输入: [1, 2, 3, 4, 5, 6, 7] 和 k…

Edge 浏览器如何设置自动刷新

Edge 浏览器设置自动刷新有两种方式 安装Edge浏览器自动刷新扩展更改页面的源代码文件 目录 方式一:Edge 自动刷新扩展实现(推荐) 方式二:更改页面的源代码文件 实现页面自动刷新(不推荐) 方式一&#xff…

CSAPP阅读笔记-信息的表示和处理

信息的表示和处理 包括整数、浮点数的存储格式、计算中可能存在的问题等 信息存储 大多数计算机使用8位的块,或者字节(byte),作为最小的可寻址的内存单位,而不是访问内存中单独的位。机器级程序将内存视为一个非常大的字节数组&#xff0c…

alertmanager高可用集群的部署方案

目录 alertmanager集群模式如何形成? 先看看prometheus这边怎么配 非容器部署 基于容器部署 alertmanager集群模式如何形成? 官方的:Alertmanager | Prometheus GitHub - prometheus/alertmanager: Prometheus Alertmanager 基本上就是…

Element Plus 离线手册 下载

Element Plus (Vue3) 离线手册,解压就能用,双击运行,浏览器访问 http://localhost:7011 获取方式:原文关注微信公众号,回复消息:7011ELP Element Plus 离线手册 下载Vue3 Element Plus 离线手册 离线文档 …

揭秘LoRA与QLoRA:百次实验告诉你如何微调LLM!

原文链接:揭秘LoRA与QLoRA:百次实验告诉你如何微调LLM!​​​​​​​ LoRA(低秩适应)是目前应用最广泛、参数效率最高的自定义大型语言模型(LLM)微调技术之一。本文不仅介绍了使用QLoRA节省内存…

Webpack模块打包工具

目录 Webpack模块打包工具知识点自测01.Webpack 简介以及体验目标讲解小结 02.Webpack 修改入口和出口目标讲解小结 03.案例-用户登录-长度判断目标讲解小结 04.Webpack 自动生成 html 文件目标讲解小结 05.Webpack-打包 css 代码目标讲解小结 06.优化-提取 css 代码目标讲解小…

深入理解 Flink(五)Flink Standalone 集群启动源码剖析

前言 Flink 集群的逻辑概念: JobManager(StandaloneSessionClusterEntrypoint) TaskManager(TaskManagerRunner) Flink 集群的物理概念: ResourceManager(管理集群所有资源,管理集群所有从节点) TaskExecutor(管理从节点资源,接…

【Spring Boot】SpringBoot maven 项目创建图文教程

创建一个Spring Boot项目并使用Maven进行构建是一项相对简单的任务。以下是使用IntelliJ IDEA创建Spring Boot Maven项目的详细教程: 步骤 1:安装 IntelliJ IDEA 确保你已经安装了最新版本的 IntelliJ IDEA。你可以从官方网站下载并安装。 步骤 2&am…