当前位置: 首页 > news >正文

哪里做网站最便宜微信开发者工具下载官网下载

哪里做网站最便宜,微信开发者工具下载官网下载,什么软件可以找做网站的,那个网站招丑的人做网红Unity数据持久化 三、XML数据持久化 3.2 C#中的XML处理 3.2.1 XmlDocument基础概念 XmlDocument类: Unity中使用System.Xml.XmlDocument类来处理XML文档提供了完整的XML文档操作功能支持读取、修改、创建XML文档 核心功能: Load方法:从文件或…

Unity数据持久化

三、XML数据持久化

3.2 C#中的XML处理

3.2.1 XmlDocument基础概念

XmlDocument类:

  • Unity中使用System.Xml.XmlDocument类来处理XML文档
  • 提供了完整的XML文档操作功能
  • 支持读取、修改、创建XML文档

核心功能:

  • Load方法:从文件或字符串加载XML文档
  • SelectSingleNode:选择单个节点
  • SelectNodes:选择多个节点
  • InnerText:获取节点的文本内容
  • Attributes:获取节点的属性集合
3.2.2 XML文件加载方法

1. 从文件路径加载

// 方法1:从指定路径加载XML文件
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load("Assets/StreamingAssets/PlayerInfo.xml");

2. 从字符串加载

// 方法2:从字符串加载XML内容
TextAsset textAsset = Resources.Load<TextAsset>("PlayerInfo");
xmlDocument.LoadXml(textAsset.text);

加载方式对比:

加载方式适用场景优点缺点
Load(string path)文件路径已知直接加载文件路径依赖性强
LoadXml(string xml)字符串内容灵活性高需要先获取字符串
3.2.3 XML节点访问方法

1. 获取根节点

// 获取XML文档的根节点
XmlNode root = xmlDocument.SelectSingleNode("PlayerInfo");

2. 获取子节点

// 通过根节点获取子节点
XmlNode node = root.SelectSingleNode("name");
print(node.InnerText); // 输出节点的文本内容

3. 获取属性信息

// 获取节点的属性信息
XmlNode weapon = root.SelectSingleNode("weapon");
print(weapon.Attributes["id"].Value); // 输出id属性的值
print(weapon.Attributes.GetNamedItem("num").Value); // 输出num属性的值

4. 获取多个同名节点

// 获取所有名为"Friend"的节点
XmlNodeList nodeList = root.SelectNodes("Friend");
foreach(XmlNode nd in nodeList)
{print(nd.SelectSingleNode("name").InnerText);print(nd.SelectSingleNode("age").InnerText);
}// 使用索引访问节点列表
for(int i = 0; i < nodeList.Count; i++)
{print(nodeList[i].SelectSingleNode("name").InnerText);print(nodeList[i].SelectSingleNode("age").InnerText);
}
3.2.4 完整的XML处理示例

XML文件结构示例:

<?xml version="1.0" encoding="UTF-8"?>
<PlayerInfo><name>张三</name><age>25</age><weapon id="001" num="5"></weapon><Friend><name>李四</name><age>23</age></Friend><Friend><name>王五</name><age>27</age></Friend>
</PlayerInfo>

完整的XML处理代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml;/// <summary>
/// XML数据处理示例类
/// 演示如何使用XmlDocument读取和解析XML文件
/// </summary>
public class Xmltext : MonoBehaviour
{// 用于存储从Resources加载的文本资源TextAsset textAsset;void Start(){// === XML文档加载方法 ===// 方法1:利用XmlDocument.Load(string path)加载指定路径的xml文件// 适用于文件路径已知的情况,如StreamingAssets文件夹中的XML文件XmlDocument xmlDocument1 = new XmlDocument();xmlDocument1.Load("Assets/StreamingAssets/PlayerInfo.xml");// 方法2:利用XmlDocument.LoadXml(string xml)加载指定字符串的xml文件// 适用于从Resources文件夹加载TextAsset资源的情况textAsset = Resources.Load<TextAsset>("PlayerInfo");XmlDocument xmlDocument2 = new XmlDocument();xmlDocument2.LoadXml(textAsset.text);// === XML节点访问示例 ===// 获取根节点:使用SelectSingleNode方法选择单个节点XmlNode root = xmlDocument2.SelectSingleNode("PlayerInfo");// 通过根节点获取子节点:读取元素节点的文本内容XmlNode nameNode = root.SelectSingleNode("name");print("玩家姓名: " + nameNode.InnerText); // 输出节点的文本内容// === 属性信息读取 ===// 获取带属性的节点XmlNode weaponNode = root.SelectSingleNode("weapon");// 方法1:通过属性名直接访问属性值print("武器ID: " + weaponNode.Attributes["id"].Value);// 方法2:通过GetNamedItem方法获取指定名称的属性print("武器数量: " + weaponNode.Attributes.GetNamedItem("num").Value);// === 多个同名节点处理 ===// 获取所有名为"Friend"的节点列表XmlNodeList friendList = root.SelectNodes("Friend");// 方法1:使用foreach循环遍历节点列表print("=== 使用foreach遍历朋友列表 ===");foreach(XmlNode friendNode in friendList){// 获取每个朋友节点的子节点信息string friendName = friendNode.SelectSingleNode("name").InnerText;string friendAge = friendNode.SelectSingleNode("age").InnerText;print("朋友姓名: " + friendName + ", 年龄: " + friendAge);}// 方法2:使用for循环和索引访问节点列表print("=== 使用for循环遍历朋友列表 ===");for(int i = 0; i < friendList.Count; i++){// 通过索引访问节点列表中的元素XmlNode currentFriend = friendList[i];string friendName = currentFriend.SelectSingleNode("name").InnerText;string friendAge = currentFriend.SelectSingleNode("age").InnerText;print("朋友" + (i + 1) + " - 姓名: " + friendName + ", 年龄: " + friendAge);}}
}
3.2.5 XML处理的核心知识点

1. XmlDocument的主要方法

方法功能参数说明
Load(string path)从文件路径加载XMLpath:XML文件路径
LoadXml(string xml)从字符串加载XMLxml:XML字符串内容
SelectSingleNode(string xpath)选择单个节点xpath:XPath表达式
SelectNodes(string xpath)选择多个节点xpath:XPath表达式

2. XmlNode的主要属性

属性功能返回值
InnerText获取节点的文本内容string
Attributes获取节点的属性集合XmlAttributeCollection
ChildNodes获取子节点集合XmlNodeList
Name获取节点名称string

3. 属性访问方法

方法功能示例
Attributes[“属性名”]直接通过属性名访问node.Attributes["id"]
GetNamedItem(“属性名”)通过方法获取属性node.Attributes.GetNamedItem("num")
Value获取属性值node.Attributes["id"].Value

4. 节点遍历方法

方法适用场景优点缺点
foreach循环简单遍历代码简洁无法获取索引
for循环需要索引可以获取位置信息代码稍复杂

通过合理使用XML数据持久化,可以为Unity项目提供灵活、可读性强的数据存储解决方案,特别适合需要频繁修改和跨平台使用的配置数据。

http://www.dtcms.com/a/533457.html

相关文章:

  • SpringBoot—配置文件分类 文件基本(数据)格式 获取数据 profile 内部(外部)配置顺序
  • 大做网站免费人脉推广
  • 手机模板的网站深圳营销网站
  • 第十一章:跃迁篇 - 集成 MCP,连接能力宇宙
  • 建设制作网站wordpress数据表格
  • 建立网站多少钱一年phpmyadmin做网站
  • html5网站布局教程网站建设座谈会上的发言
  • 【补题】 Codeforces Round 1039 (Div. 2) D. Sum of LDS
  • 自建站怎么接入支付个人买卖网站如何做
  • Linux小课堂: systemd核心功能详解
  • 专做网站wordpress 图像滑块插件
  • 郑州知名做网站中国市场网
  • 【技术深度】腾讯 IM 接入规范文档(基于区块链交易所 APP)
  • 什么是区块链?有哪些场景需要用到?
  • 该如何选择深圳网站建设公司菏泽网站建设公司
  • 基于AI Agent的数据资产自动化治理实验
  • Rust 并发编程进阶:线程模型、通道通信与异步任务对比分析
  • 南京一站式工程装饰装修网站做网站建设的名声很差吗
  • 三型布局的网站兴义网站网站建设
  • LangChain最详细教程之Model I/O(三)Output Parsers
  • 网站制作 万网营销型网站建设设计服务
  • 做网站前端用什么语言网站建设是什么专业
  • Photoshop - Photoshop 工具栏(17)铅笔工具
  • sem竞价托管多少钱搜索引擎优化的内容有哪些
  • 合肥营销网站建设价格网站策划的工作要求
  • Diffusion Planner(1): 论文解读
  • 怎样做pdf电子书下载网站网站建设合同贴花算哪一类
  • 交互设计精髓斜杠青年seo工作室
  • 网站添加字体c 网站开发 调试
  • JAVA面试汇总(五)数据库(三)