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

扬州建设网站公司湖北创研楚商网站建设销售人员

扬州建设网站公司,湖北创研楚商网站建设销售人员,广州私人做网站,百度小说风云榜首页一、XML 文件的存放位置 #xff08;一#xff09;只读不写的 XML ​ 放在 Resouces 或者 StreamingAssets 文件夹下#xff0c;详见 Unity基础3——Resources资源动态加载_weixin_53163894的博客-CSDN博客。 #xff08;二#xff09;动态存储的 XML ​ 放在 Applica…一、XML 文件的存放位置 一只读不写的 XML ​ 放在 Resouces 或者 StreamingAssets 文件夹下详见 Unity基础3——Resources资源动态加载_weixin_53163894的博客-CSDN博客。 二动态存储的 XML ​ 放在 Application.persistentDataPath 路径下 二、C# 读取 XML ​ C# 读取 XML 的方法有几种 XmlDocument (把数据加载到内存中方便读取) XmlTextReader (以流形式加载内存占用更少但是是单向只读使用不是特别方便除非有特殊需求否则不会使用) Linq (以后专门讲 Linq 的时候讲) ​ 使用 XmlDocument 类读取是较方便最容易理解和操作的方法 ​ XML 文件 ?xml version1.0 encodingUTF-8? !--TestXML.xml-- Rootnamexxx/nameage18/ageItem id1 num10/Friendname小明/nameage8/age/FriendFriendname小红/nameage10/age/Friend /Root一读取 xml 文件信息 using System.Xml;XmlDocument xml new XmlDocument();// 通过XmlDocument读取xml文件 有两个API// 1.直接根据xml字符串内容 来加载xml文件 // 存放在Resorces文件夹下的xml文件加载处理 TextAsset asset Resources.LoadTextAsset(TestXml); print(asset.text); // 通过这个方法 就能够翻译字符串为xml对象 xml.LoadXml(asset.text);// 2.是通过xml文件的路径去进行加载 // 存放在StreamingAssets文件夹下的xml文件加载处理 xml.Load(Application.streamingAssetsPath /TestXml.xml);二读取元素和属性信息 ​ 节点信息类XmlNode 单个节点信息类 ​ 节点列表信息XmlNodeList 多个节点信息类 // 获取xml当中的根节点 XmlNode root xml.SelectSingleNode(Root); // 再通过根节点 去获取下面的子节点 XmlNode nodeName root.SelectSingleNode(name); // 如果想要获取节点包裹的元素信息 直接 .InnerText print(nodeName.InnerText);XmlNode nodeAge root.SelectSingleNode(age); print(nodeAge.InnerText);XmlNode nodeItem root.SelectSingleNode(Item); // 第一种方式 直接 中括号获取信息 print(nodeItem.Attributes[id].Value); print(nodeItem.Attributes[num].Value); // 第二种方式 print(nodeItem.Attributes.GetNamedItem(id).Value); print(nodeItem.Attributes.GetNamedItem(num).Value);// 这里是获取 一个节点下的同名节点的方法 XmlNodeList friendList root.SelectNodes(Friend);// 遍历方式一迭代器遍历 foreach (XmlNode item in friendList) {print(item.SelectSingleNode(name).InnerText);print(item.SelectSingleNode(age).InnerText); }// 遍历方式二通过for循环遍历 // 通过XmlNodeList中的 成员变量 Count可以得到 节点数量 for (int i 0; i friendList.Count; i) {print(friendList[i].SelectSingleNode(name).InnerText);print(friendList[i].SelectSingleNode(age).InnerText); }三总结 1.读取 XML 文件 XmlDocument xml new XmlDocument();// 读取文本方式1-xml.LoadXml(传入xml文本字符串) // 读取文本方式2-xml.Load(传入路径)2.读取元素和属性 // 获取单个节点 XmlNode node xml.SelectSingleNode(节点名); // 获取多个节点 XmlNodeList nodeList xml.SelectNodes(节点名);// 获取节点元素内容node.InnerText // 获取节点元素属性 // 1. item.Attributes[属性名].Value; // 2. item.Attributes.GetNamedItem(属性名).Value;// 通过迭代器遍历或者循环遍历XmlNodeList对象 可以获取到各单个元素节点三、C# 存储修改 XML 一决定存储在哪个文件夹下 ​ 注意存储 xml 文件在 Unity 中一定是使用各平台都可读可写可找到的路径 Resources 可读不可写打包后找不到 ❌ Application.streamingAssetsPath 可读 PC 端可写 找得到 ❌ Application.dataPath 打包后找不到 ❌ Application.persistentDataPath 可读可写找得到 ✔️ string path Application.persistentDataPath /PlayerInfo2.xml; print(Application.persistentDataPath);二存储 XML 文件 ​ 关键类 XmlDocument用于创建节点 存储文件 ​ 关键类 XmlDeclaration用于添加版本信息 ​ 关键类 XmlElement节点类 ​ 存储有 5 步 1.创建文本对象 XmlDocument xml new XmlDocument();2.添加固定版本信息 // 这一句代码 相当于就是创建?xml version1.0 encodingUTF-8?这句内容 // 第三个参数传空串就可以了目前不用管 XmlDeclaration xmlDec xml.CreateXmlDeclaration(1.0, UTF-8, ); // 创建完成过后 要添加进入 文本对象中 xml.AppendChild(xmlDec);3.添加根节点 XmlElement root xml.CreateElement(Root); xml.AppendChild(root);4.为根节点添加子节点 // 加了一个 name子节点 XmlElement name xml.CreateElement(name); name.InnerText xxx; root.AppendChild(name);XmlElement atk xml.CreateElement(atk); atk.InnerText 10; root.AppendChild(atk);XmlElement listInt xml.CreateElement(listInt); for (int i 1; i 3; i) {XmlElement childNode xml.CreateElement(int);childNode.InnerText i.ToString();listInt.AppendChild(childNode); } root.AppendChild(listInt);XmlElement itemList xml.CreateElement(itemList); for (int i 1; i 3; i) {XmlElement childNode xml.CreateElement(Item);// 添加属性childNode.SetAttribute(id, i.ToString());childNode.SetAttribute(num, (i * 10).ToString());itemList.AppendChild(childNode); } root.AppendChild(itemList);5.保存 xml.Save(path);三修改 XML 文件 using System.IO;// 1.先判断是否存在文件 if( File.Exists(path) ) {// 2.加载后 直接添加节点 移除节点即可XmlDocument newXml new XmlDocument();newXml.Load(path);// 修改就是在原有文件基础上 去移除 或者添加// 移除// 这种是一种简便写法 通过 / 来区分父子关系XmlNode node newXml.SelectSingleNode(Root/atk);// XmlNode node newXml.SelectSingleNode(Root).SelectSingleNode(atk);// 得到自己的父节点XmlNode root2 newXml.SelectSingleNode(Root);// 移除子节点方法root2.RemoveChild(node);// 直接删除自己// node.ParentNode.RemoveChild(node);// 添加节点XmlElement speed newXml.CreateElement(moveSpeed);speed.InnerText 20;root2.AppendChild(speed);// 改了记得存newXml.Save(path); }
http://www.hkea.cn/news/14495020/

相关文章:

  • 优秀的企业网站设计wordpress 360收录
  • 阿图什网站可以做电算化的网站
  • 怎么做企业功能网站唯品会网站建设
  • 网站建设应该注意哪些原则襄阳网站seo技巧
  • 百度做任务的网站wordpress订阅会员
  • 网站建设创客win wordpress 静态
  • 开发网站所用技术重庆云阳网站建设公司
  • 做一个英文网站2018做网站前景好么
  • 网站顶部广告素材创鑫云网络
  • WordPress网站运行时间深圳创新创业大赛
  • 网站该怎么找线上外贸平台有哪些
  • 公司做网站卖东西要什么证网站优化种类
  • 环保主题静态网站模板下载怎么做h5动态页面
  • 东莞网站建设信科平面设计模板
  • 贵州毕节网站建设移动开发网站建设
  • 北京市保障房建设投资中心网站首页广州网站定做教程
  • 福建省建住房建设部网站游戏网站建设需要多少钱
  • 凡客建网站网站如何快速被收录
  • 齐齐哈尔网站建设公司科技股
  • 有趣的网站游戏建设黑彩网站
  • 如何调整网站板块位置建筑工程管理软件
  • 做便宜的宝贝的网站人才网最新招聘
  • 成都高端模板建站为传销做网站
  • 河源北京网站建设网站空间续费后网页不能打开
  • phpcms可以做哪些网站wordpress生成二维码
  • 站群管理系统cms任务发布插件wordpress
  • 江苏城乡住房建设部网站潍坊专业网站制作公司营销
  • 天津微信网站开发门户网站建设询价函
  • 济南做网站的公司有哪些wordpress 文章字体
  • 怎么把网站扒下来网站所有页面只显示域名