Unity3d XML的创建、更新、添加、删除和读取
来源:互联网 发布:宋本广韵 知乎 编辑:程序博客网 时间:2024/06/01 15:44
关于Xml文件的相关操作
创建、更新、添加、删除、读取
using System.IO;using System.Xml;using UnityEngine;public class XmlOperation : MonoBehaviour{ private string path = ""; void Awake() { path= Application.dataPath + "/test.xml"; } void Start() { //CreateXml(path); //UpdateXml(path,"0"); //AddXml(path); //DeleteXml(path,"1001"); ReadXml(path); } /// <summary> /// 根据路径来创建xml文件 /// </summary> /// <param name="filePath"></param> public void CreateXml(string filePath) { if (!File.Exists(filePath)) { // 创建xml文档实例 XmlDocument xmlDoc = new XmlDocument(); // 创建根节点 XmlElement root = xmlDoc.CreateElement("transforms"); // 创建第一个子节点 XmlElement elmXml = xmlDoc.CreateElement("rotation"); // 设置节点属性 elmXml.SetAttribute("id", "0"); elmXml.SetAttribute("name", "first"); // 创建第一子节点的子节点 XmlElement rotation_x = xmlDoc.CreateElement("x"); rotation_x.InnerText = "0"; XmlElement rotation_y = xmlDoc.CreateElement("y"); rotation_y.InnerText = "1"; XmlElement rotation_z = xmlDoc.CreateElement("z"); rotation_z.InnerText = "2"; // 排序 elmXml.AppendChild(rotation_x); elmXml.AppendChild(rotation_y); elmXml.AppendChild(rotation_z); root.AppendChild(elmXml); xmlDoc.AppendChild(root); xmlDoc.Save(filePath); } } /// <summary> /// 更新指定id的xml数据 /// </summary> /// <param name="path"></param> /// <param name="id"></param> public void UpdateXml(string path, string id) { if (File.Exists(path)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path); XmlNodeList nodes = xmlDoc.SelectSingleNode("transforms").ChildNodes; foreach (XmlElement xe in nodes) { if (xe.GetAttribute("id") == id) { xe.SetAttribute("id", "1001"); foreach (XmlElement xx1 in xe.ChildNodes) { if (xx1.Name == "x") xx1.InnerText = "1001"; } break; } } xmlDoc.Save(path); } } /// <summary> /// 添加一条数据 /// </summary> /// <param name="path"></param> public void AddXml(string path) { if (File.Exists(path)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path); XmlNode root = xmlDoc.SelectSingleNode("transforms"); XmlElement elmNew = xmlDoc.CreateElement("rotation"); elmNew.SetAttribute("id", "1"); elmNew.SetAttribute("name", "yusong"); XmlElement rotation_X = xmlDoc.CreateElement("x"); rotation_X.InnerText = "0"; XmlElement rotation_Y = xmlDoc.CreateElement("y"); rotation_Y.InnerText = "1"; XmlElement rotation_Z = xmlDoc.CreateElement("z"); rotation_Z.InnerText = "2"; elmNew.AppendChild(rotation_X); elmNew.AppendChild(rotation_Y); elmNew.AppendChild(rotation_Z); root.AppendChild(elmNew); xmlDoc.AppendChild(root); xmlDoc.Save(path); } } /// <summary> /// 删除数据 /// </summary> /// <param name="path"></param> /// <param name="id"></param> public void DeleteXml(string path, string id) { if (File.Exists(path)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path); XmlNodeList nodeList = xmlDoc.SelectSingleNode("transforms").ChildNodes; foreach (XmlElement xe in nodeList) { if (xe.GetAttribute("id") == id) { // 移除指定id的属性 xe.RemoveAttribute("id"); } foreach (XmlElement x1 in xe.ChildNodes) { // 移除所有z的value if (x1.Name == "z") { x1.RemoveAll(); } } } xmlDoc.Save(path); } } /// <summary> /// 读取xml /// </summary> /// <param name="path"></param> public void ReadXml(string path) { if (File.Exists(path)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path); XmlNodeList nodes = xmlDoc.SelectSingleNode("transforms").ChildNodes; foreach (XmlElement xe in nodes) { Debug.Log("ID: " + xe.GetAttribute("id")); Debug.Log("Name: "+xe.GetAttribute("name")); string element = ""; foreach (XmlElement x in xe) { element= element + "," + x.InnerText; } Debug.Log(element); } } }}
阅读全文
0 0
- Unity3d XML的创建、更新、添加、删除和读取
- QtCreator 使用DOM创建和操作(添加,删除,更新)XML
- Unity3D 09-XML文件创建,读取,修改,添加
- 对XML的创建/修改/读取/删除
- ArcGIS Engine效率探究——要素的添加和删除、属性的读取和更新
- ArcGIS Engine效率探究——要素的添加和删除、属性的读取和更新
- ArcGIS Engine效率探究——要素的添加和删除、属性的读取和更新
- GeoDataBase要素的添加和删除、属性的读取和更新
- ArcGIS Engine效率探究——要素的添加和删除、属性的读取和更新
- XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除
- XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除
- Hibernate的更新删除和读取
- C#学习笔记之Xml文档的读取、删除和更新数据
- 使用 ADO.NET 来创建、读取、更新和删除数据
- dom创建和解析及更新删除xml
- 基本的CRUD(创建、读取、更新、删除)
- 黑马程序员--XML添加读取删除的实现
- XML创建和读取
- 实现基于MYSQL验证的vsftpd虚拟用户
- 第七章 Nginx服务器的代理服务【笔记】
- Android系统开发基础
- [NOIP模拟]抄代码
- 大话设计模式--java实现装饰者设计模式与补充
- Unity3d XML的创建、更新、添加、删除和读取
- NIO学习(七) DataGramChannel
- 深入C语言把文件读入字符串
- 51nod-1082与七无关的数
- 自动色彩均衡算法(ACE)原理及实现
- 顺序表实例
- 欢迎使用CSDN-markdown编辑器
- UVA 10391 Compound Words
- 不仅仅是网络通信 Boost.Asio支持信号量