JSON

Unity3D学习之使用 C#合成解析XML与JSON.doc.doc

字号+ 作者:H5之家 来源:H5之家 2016-06-11 12:00 我要评论( )

XML与JSON在开发中非常重要,其实核心就是处理字符串。一个是XML的字符串一个是JSON的字符串,尤其是在处理网络请求的时候,肯定是要用的。另外现在JSON非常的流行,

淘豆网网友xinsheng2008近日为您收集整理了关于Unity3D学习之使用 C#合成解析XML与JSON.doc的文档,希望对您的工作和学习有所帮助。以下是文档介绍:XML与JSON在开发中非常重要,其实核心就是处理字符串。一个是XML的字符串一个是JSON的字符串,尤其是在处理网络请求的时候,肯定是要用的。另外现在JSON非常的流行,我写了一个简单的例子融合了XML与JSON的合成与解析,希望大家喜欢!出自狗刨学习网首先注意头文件,LitJson是处理JSON的第三方库,最后我会给出下载地址。1.usingUnityEngine;2.usingSystem.Collections;3.usingSystem.Collections.Generic;4.usingSystem.Xml;5.usingSystem.IO;6.usingSystem.Text;7.usingLitJson;复制代码1、生成XML1.publicvoidcreateXml()2.{3.//xml保存的路径,这里放在Assets路径注意路径。4.stringfilepath=Application.dataPath+@"/my.xml";5.//继续判断当前路径下是否有该文件6.if(!File.Exists(filepath))7.{8.//创建XML文档实例9.XmlDocumentxmlDoc=newXmlDocument();10.//创建root节点,也就是最上一层节点11.XmlElementroot=xmlDoc.CreateElement("transforms");12.//继续创建下一层节点13.XmlElementelmNew=xmlDoc.CreateElement("rotation");14.//设置节点的两个属性ID和NAME15.elmNew.SetAttribute("id","0");16.elmNew.SetAttribute("name","momo");17.//继续创建下一层节点18.XmlElementrotation_X=xmlDoc.CreateElement("x");19.//设置节点中的数值20.rotation_X.InnerText="0";21.XmlElementrotation_Y=xmlDoc.CreateElement("y");22.rotation_Y.InnerText="1";23.XmlElementrotation_Z=xmlDoc.CreateElement("z");24.rotation_Z.InnerText="2";25.//这里在添加一个节点属性,用来区分。。26.rotation_Z.SetAttribute("id","1");27.28.//把节点一层一层的添加至XMLDoc中,请仔细看它们之间的先后顺序,这将是生成XML文件的顺序29.elmNew.AppendChild(rotation_X);30.elmNew.AppendChild(rotation_Y);31.elmNew.AppendChild(rotation_Z);32.root.AppendChild(elmNew);33.xmlDoc.AppendChild(root);34.//把XML文件保存至本地35.xmlDoc.Save(filepath);36.Debug.Log("createXmlOK!");37.}38.}复制代码运行结果1.<p>[tr]2.3.04.1</p><p>25.</p>复制代码2.更新XML文件以其中某个节点名称做条件,当查询到时更新该节点1.publicvoidUpdateXml()2.{3.stringfilepath=Application.dataPath+@"/my.xml";4.if(File.Exists(filepath))5.{6.XmlDocumentxmlDoc=newXmlDocument();7.//根据路径将XML读取出来8.xmlDoc.Load(filepath);9.//得到transforms下的所有子节点10.XmlNodeListnodeList=xmlDoc.SelectSingleNode("transforms").ChildNodes;11.//遍历所有子节点12.foreach(XmlElementxeinnodeList)13.{14.//拿到节点中属性ID=0的节点15.if(xe.GetAttribute("id")=="0")16.{17.//更新节点属性18.xe.SetAttribute("id","1000");19.//继续遍历20.foreach(XmlElementx1inxe.ChildNodes)21.{22.if(x1.Name=="z")23.{24.//这里是修改节点名称对应的数值,而上面的拿到节点连带的属性。。。25.x1.InnerText="update00000";26.}27.28.}29.break;30.}31.}32.xmlDoc.Save(filepath);33.Debug.Log("UpdateXmlOK!");34.}35.36.}复制代码运行结果1.[tr]2.3.04.15.update000006.复制代码3.添加XML重复的地方我就不解释拉。1.publicvoidAddXml()2.{3.stringfilepath=Application.dataPath+@"/my.xml";4.if(File.Exists(filepath))5.{6.XmlDocumentxmlDoc=newXmlDocument();7.xmlDoc.Load(filepath);8.XmlNoderoot=xmlDoc.SelectSingleNode("transforms");9.XmlElementelmNew=xmlDoc.CreateElement("rotation");10.elmNew.SetAttribute("id","1");11.elmNew.SetAttribute("name","yusong");12.13.XmlElementrotation_X=xmlDoc.CreateElement("x");14.rotation_X.InnerText="0";15.rotation_X.SetAttribute("id","1");16.XmlElementrotation_Y=xmlDoc.CreateElement("y");17.rotation_Y.InnerText="1";18.XmlElementrotation_Z=xmlDoc.CreateElement("z");19.rotation_Z.InnerText="2";20.21.elmNew.AppendChild(rotation_X);22.elmNew.AppendChild(rotation_Y);23.elmNew.AppendChild(rotation_Z);24.root.AppendChild(elmNew);25.xmlDoc.App

12>



播放器加载中,请稍候...
系统无法检测到您的Adobe Flash Player版本
建议您在线安装最新版本的Flash Player 在线安装

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评