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

西宁市建设网站公司全国疫情最新名单

西宁市建设网站公司,全国疫情最新名单,vs2010 网站开发教程,个人域名用来做淘宝客网站一、XML 文件的存放位置 (一)只读不写的 XML ​ 放在 Resouces 或者 StreamingAssets 文件夹下,详见 Unity基础3——Resources资源动态加载_weixin_53163894的博客-CSDN博客。 (二)动态存储的 XML ​ 放在 Applica…

一、XML 文件的存放位置

(一)只读不写的 XML

​ 放在 Resouces 或者 StreamingAssets 文件夹下,详见 Unity基础3——Resources资源动态加载_weixin_53163894的博客-CSDN博客。

(二)动态存储的 XML

​ 放在 Application.persistentDataPath 路径下

二、C# 读取 XML

​ C# 读取 XML 的方法有几种

  1. XmlDocument (把数据加载到内存中,方便读取)

  2. XmlTextReader (以流形式加载,内存占用更少,但是是单向只读,使用不是特别方便,除非有特殊需求,否则不会使用)

  3. Linq (以后专门讲 Linq 的时候讲)

​ 使用 XmlDocument 类读取是较方便最容易理解和操作的方法

​ XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!--TestXML.xml-->
<Root><name>xxx</name><age>18</age><Item id="1" num="10"/><Friend><name>小明</name><age>8</age></Friend><Friend><name>小红</name><age>10</age></Friend>
</Root>

(一)读取 xml 文件信息

using System.Xml;XmlDocument xml = new XmlDocument();// 通过XmlDocument读取xml文件 有两个API// 1.直接根据xml字符串内容 来加载xml文件
// 存放在Resorces文件夹下的xml文件加载处理
TextAsset asset = Resources.Load<TextAsset>("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 中一定是使用各平台都可读可写可找到的路径

  1. Resources 可读不可写,打包后找不到 ❌

  2. Application.streamingAssetsPath 可读 PC 端可写 找得到 ❌

  3. Application.dataPath 打包后找不到 ❌

  4. Application.persistentDataPath 可读可写找得到 ✔️

string path = Application.persistentDataPath + "/PlayerInfo2.xml";
print(Application.persistentDataPath);

(二)存储 XML 文件

​ 关键类 XmlDocument:用于创建节点 存储文件

​ 关键类 XmlDeclaration:用于添加版本信息

​ 关键类 XmlElement:节点类

​ 存储有 5 步:

1.创建文本对象

XmlDocument xml = new XmlDocument();

2.添加固定版本信息

// 这一句代码 相当于就是创建<?xml version="1.0" encoding="UTF-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.dinnco.com/news/42346.html

相关文章:

  • seo搜索优化试卷聊城seo整站优化报价
  • 做众筹网站怎么赚钱火星时代教育培训机构怎么样
  • 网站系统安全性杭州百度seo代理
  • 政府网站建设赏析网站免费进入窗口软件有哪些
  • 建站abc怎么改代码网站免费软件
  • 罗阳网站建设无忧seo
  • 把微信小程序做网站定制型营销网站建设
  • 建网站设置网站首页广点通广告投放平台登录
  • wordpress 建站教程 下载网络推广项目计划书
  • 沈阳网站建设建设公司哪家好哈尔滨网站优化流程
  • 木疙瘩h5官网沈阳专业网站seo推广
  • 动态网站特点武汉刚刚发生的新闻
  • 沧州网站建设代理价格小网站搜什么关键词好
  • app开发网站模板app关键词排名优化
  • 长沙建站长沙网站设计网站一般多少钱
  • 大学网站建设多少钱windows优化大师提供的
  • 许昌做网站优化青岛seo网站管理
  • 泰兴做网站公司软文广告平台
  • 网站内部优化策略seo顾问张智伟
  • 哪些网站做批发衣服百度浏览官网
  • 浏网站建设补贴环球军事新闻最新消息
  • 合肥网站建设电话咨询开鲁网站seo转接
  • 开发助手appwin7系统优化大师
  • wordpress 页面美化成都官网seo费用
  • 开网店要建网站平台吗百度搜图匹配相似图片
  • 网站建设的现状分析电脑培训班电脑培训学校
  • b站黄页推广手机百度免费下载
  • 广州个人网站建设公司如何做一个营销方案
  • 做历史卷子的网站爱站网关键词挖掘工具
  • 网站开发 业务流程图网络营销工程师