位置: 编程技术 - 正文

关于XML的读写操作以及查询操作(xml文件的数据如何读取)

发布时间:2024-02-27

推荐整理分享关于XML的读写操作以及查询操作(xml文件的数据如何读取),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:xml文件阅读,xml文件阅读,关于xml的规则描述错误的是,xml读写操作,关于xml的读写操作有哪些,关于xml的叙述正确的是,xml读写java,关于xml的读写操作有哪些,内容如对您有帮助,希望把文章链接给更多的朋友!

我们在做一些项目的时候,往往会用XML来配置内部成员,部署他们之间的关系,使得程序运行起来不至于太混乱,今天就稍微讲解一下关于XML的一些用法。

XML文件的脚本形式非常的简单,所以XML文件不一定由程序员来编写,关于项目中元素之间的层级关系,策划是最清除的,所有有时候xml文件是由策划或者部分美工来编写,或者是程序员给他们编写一些内定好形式的XML生成器。下面我就我曾经写过的一个生成器简单的做一些关于XML文件的读写以及查询操作。

首先是创建XML文件:(以根节点Product为例)

//实例化一个XML文档 XmlDocument xmlDoc = new XmlDocument(); //创建root节点,最上层节点 XmlElement rootnode = xmlDoc.CreateElement("Product"); //将节点添加到而文件中并保存 xmlDoc.AppendChild(rootnode); //设置文件路径,并保存路径,然后保存文档 path =Application.persistentDataPath&#;"/" &#; XMLname.text &#; ".xml"; xmlDoc.Save(path); print("XML创建成功!!!");

这个就生成只有一个根节点的XML文件。下面就是往根节点下面添加若干子节点以及元素。

//创建下一个节点 XmlElement Root = xmlDoc.CreateElement("Root"); //下一级节点 XmlElement Type = xmlDoc.CreateElement("Type");

接下来就是给根节点Product下面的Root,和Type节点赋予属性:

//设置节点属性 Root.SetAttribute("kind", RootKind); Type.SetAttribute("type", Typetype);

(RootKind,Typetype为string类型,是自定义的)

若想把type节点作为Root的子节点,则操作如下:

Root.AppendChild(Type);

然后获取根节点,并添加root节点,其操作如下:

//获取XML根节点 XmlNode root_node = xmlDoc.SelectSingleNode("Product");

root_node.AppendChild(Root);

最后添加的文件中:

xmlDoc.AppendChild(root_node); //保存并覆盖原有文件 xmlDoc.Save(path);

关于XML的读写操作以及查询操作(xml文件的数据如何读取)

这样就生成了拥有根节点Product,以及Root,和Type两个子节点(type为root的子节点)。

同样的 若是想在某个节点下面添加若干个子节点,其操作方法如上。

关于xml读取查询操作,比如,我想取出product节点下的所有子节点的属性,存储于链表中。其操作如下:

//获取XML根节点 XmlNode root_node = xmlDoc.SelectSingleNode("Product"); foreach (XmlNode xm in root_node) { XmlElement xe = (XmlElement)xm; foreach (XmlNode xm2 in xe.ChildNodes) { XmlElement xe2 = (XmlElement)xm2; typevalue.Add(xe2.GetAttribute("type")); //print(xe2.GetAttribute("type")); } kindvalue.Add(xe.GetAttribute("kind")); // print(xe.GetAttribute("kind")); }

(typevalue,kindvalue是定义好的两个list),

这样就把type和kind节点的所有属性都存储于两个list中。

以上是关于XML文件的创建以及简单查询操作,其大概思路就是这样的。如下知道其具体的脚本编写,可以下载我之前做好的一个XML脚本生成器(包括源码和客户端)

下载地址:

链接: 密码:kro7

有什么问题或者有错误的地方,欢迎大家指正,谢谢~~~

设计模式--简单工厂模式在unity3d里面的使用 来自

Unity3D 帧数修改 1、在Quality(质量)设置里把帧数设定关闭之后才能在代码中修改游戏运行的帧数2、在Unity中新建脚本UpdateFrame.cs,编写如下代码usingUnityEngine;usingSystem.Collec

unity 移动物体到指定位置的四种方法 方法1:使用Vector3.MoveTowards/preprename=codeclass=csharpvoidUpdate(){floatstep=speed*Time.deltaTime;gameObject.transform.localPosition=Vector3.MoveTowards(gameObject.transform.localPosition,new

标签: xml文件的数据如何读取

本文链接地址:https://www.jiuchutong.com/biancheng/382583.html 转载请保留说明!

上一篇:RPG 游戏地图卷动简单API(rpg好玩地图)

下一篇:设计模式--简单工厂模式在unity3d里面的使用(简单的设计模式)

  • 养老院营利性与非营利如何认定
  • 缴纳的增值税在资产负债表中怎么体现
  • 公司注销投资款退回给股东,附言写什么
  • 税务登记注销前异常项目类型非强制什么意思
  • 合并报表时存货怎么处理
  • 开了票后才收到工程款怎么做账?
  • 货物进出口代理公司
  • 零报税企业怎么做汇算清缴
  • 2018年个体工商户增值税起征点
  • 汽车加油专票可以抵扣税款吗
  • 广告设计公司需要哪些设备
  • 坏账处理的所得税税率
  • 单位买酒报销如何做账
  • 吊装费和吊车费是一样的不?
  • 商业承兑汇票贴现为什么是短期借款
  • 供应商质量问题通知函范文
  • 代扣代缴增值税附加税减免政策
  • 打车进项可以抵扣吗
  • 出口转内销申报需要先做出口退税吗
  • linux清理磁盘空间
  • 解除劳动关系取公积金
  • nvsvc.exe - nvsvc是什么进程 有什么用
  • 微软的客户主要是什么
  • 资产和负债的计税基础金额的确认思维导图
  • vitem
  • 收到支票直接背书账务
  • Obsidian:实现日记记录【设计并使用模板】
  • 如何批量清理桌面
  • 家属补助每月发多少钱
  • php处理并发有哪些技术
  • smart局部变量
  • 员工工资扣工作服合法吗?
  • php反射获取方法参数
  • vue学不懂怎么办
  • 浅析Laravel5中队列的配置及使用
  • Navicat for MySQL 15 v15.0.27 中文企业正式版(附安装教程) 32/64位 破解版
  • 应收利息罚息什么意思
  • 帝国cms首页怎么打开
  • 出差期间发生的招待费计入什么科目
  • 支付给非金融机构的费用
  • 个体工商户核算方式选哪个比较好
  • 收到汇算清缴退回的税款如何做账
  • 建筑施工安全费用提取标准
  • 存货呆滞的原因及处理表格
  • 注册资本及构成
  • 技能培训费属于哪个科目
  • 小规模购买税控盘分录怎么写
  • 收取加盟费的条件
  • 小规模纳税人交通运输服务税率
  • 物业公司代收水费账务处理
  • 发票入账但是没付款有什么税务风险
  • 小规模公司购买汽车如何抵税
  • 餐饮行业的原材料怎么做账
  • 会计账簿按用途分类分为
  • 什么是关联企业?关联企业之间业务往来
  • mysql 备份方式
  • MySQL 5.6.14 win32安装方法(zip版)
  • centos下安装虚拟机
  • sql触发器使用存储过程
  • win8怎么锁定屏幕
  • 使用win10
  • xpkw
  • centos7添加桌面图标
  • linux user命令
  • win10ipv4 ipv6无internet访问权限
  • win11系统ie浏览器
  • js时间日期
  • unity错误cs1002
  • js中的$是什么意思
  • jquery 日期
  • AJAX和jQuery动态加载数据的实现方法
  • adb远程调试工具
  • javascript学习指南
  • easyui加载数据慢
  • Android中的布局有哪些
  • 打印格式不对怎么设置A4
  • 福州市税务局领导班子成员名单
  • 青岛税务社保缴费下载平台
  • 地税局公务员工作内容
  • 异辛烷征收消费税2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号