XML的两种读取方法

1.xml文件内容如下:

<?xml version="1.0" encoding="utf-8" ?>
<info>
<book id ="b1" lang ="en">
<name>c++</name>
<price>555</price>
</book>
<book id ="b2" lang ="en">
<name>c#</name>
<price>666</price>
</book>
</info>

这个文件可以放在resources或者StreamingAssets这个下面,所以有了两种路径读取方式,读取方式如下

using UnityEngine;
using System.IO;
using System.Xml;
using System.Collections;

public class ReadXml : MonoBehaviour {

/// <summary>
/// resources下面读取xml的方法
/// </summary>
//void Start()
//{

// //resources下面的读法
// TextAsset textAsset = Resources.Load("XMLFile1", typeof(TextAsset)) as TextAsset;
// ReadXML(new MemoryStream(textAsset.bytes));
//}

/// <summary>
/// StreamingAssets 下面的读取xml的方法
/// </summary>
/// <returns></returns>
IEnumerator Start()
{
WWW www = new WWW("file://" + Application.streamingAssetsPath + "/XMLFile1.xml");
yield return www;

ReadXML(new MemoryStream(www.bytes));
www.Dispose();
}

// Update is called once per frame
void Update ()
{

}

void ReadXML(Stream stream) {
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(stream);

XmlNode info = xmlDoc.SelectSingleNode("info");
foreach (XmlNode node in info.ChildNodes)
{
string id = node.Attributes["id"].InnerText;
string lang = node.Attributes["lang"].InnerText;

string name = node.SelectSingleNode("name").InnerText;

Debug.Log(node.Name + "/" + "id =" + id + " lang = " + lang + " name = " + name);
}
}
}

时间: 2024-10-24 05:53:43

XML的两种读取方法的相关文章

No grammar constraints (DTD or XML schema).....两种解决方法

方法一:常用方法   关闭XML验证 工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可. 方法二:(个人推荐) 添加 内容如下 <?xml version="1.0" encoding="UTF-8" standalone="no"?&g

简介C#读取XML的两种方式

简介C#读取XML的两种方式 作者: 字体:[增加 减小] 类型:转载 时间:2013-03-03 在程序中访问进而操作XML文件一般有两种模型,分别是使用DOM(文档对象模型)和流模型,使用DOM的好处在于它允许编辑和更新XML文档,可以随机访问文档中的数据,可以使用XPath查询 XML作用 对于XML,想必各位都比较了解,我也就不用费笔墨来描述它是什么了,我想在未来的Web开发中XML一定会大放异彩,XML是可扩展标记语言,使用它企 业可以制定一套自己的数据格式.用于Internet的数据

两种读取微信xml消息的方式比较

直接贴代码和结果. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using System.Xml.Serialization; using System.IO; using System.Diagnostics; namespace ConsoleApplication_xm

基于Apache+Tomcat负载均衡的两种实现方法

Apache+Tomcat实现负载均衡的两种实现方法 如果我们将工作在不同平台的apache能够实现彼此间的高效通信,因此它需要一种底层机制来实现--叫做apr Apr的主要目的就是为了其能够让apache工作在不同的平台上,但在linux上安装apache的时候通常都是默认安装的 [[email protected] ~]#rpm -qi aprName                 :apr                                        Relocation

黑马程序员【两种Ajax方法】

两种Ajax方法 Ajax是一种用于快速创建动态网页的技术,他通过在后台与服务器进行少量的数据交换,可以实现网页的异步更新,不需要像传统网页那样重新加载页面也可以做到对网页的某部分作出更新,现在这项技术已经被人们广泛应用,而对于一些对Web的了解还不是很深入的初学者,Ajax依然带着一层神秘的难懂的色彩,今天就在这里给大家以简单的方式解读一下Ajax的实现步骤和原理,并且给大家两种实现Ajax的方法,js和jquery. 首先ajax其实就是js+xml的技术,前端的表现就是一段js代码.要使用

C#中的两种debug方法介绍

第一种:需要把调试方法改成debug 代码用 #if DEBUG 包裹 using System; using System.Collections.Generic; using System.Text; using System.IO; namespace SplitPackage { public static class EnvConfig { static EnvConfig() { #if DEBUG ToolsPath = @"D:\workspace\shopstyle\tool&

通过编码和xml文件两种方式实现tween动画

tween有四种动画效果:alpha(透明).rotate(旋转), translate(移动),scale(缩放); 可以通过硬编码和xml文件这两种方式来实现. xml实现: 第一步:在项目的res文件下面新建一个文件夹名字是anim(必须) 第二步:在anim文件夹下面新建新的xml文件,在xml文件中具体设置动画效果 第三步:在Activity中使用 AnimationUtils.loadAnimation(MainActivity.this,R.anim.xx);来获取. 1.alph

OGG的Director web hang住的两种解决方法

OGG的Director web hang住的两种解决方法: OGG的Director web hang住的解释:是指web界面能登陆进去,但是看得刷新日期是很久之前的日期,并且该日期不变化. OGG的Director web hang住 的情况之一: 参考如下的mos文章: Director web displaying "Error 500-Internal Server Error". Domain log has Cannot open paging store. (Doc I

git两种合并方法 比较merge和rebase

18:01 2015/11/18git两种合并方法 比较merge和rebase其实很简单,就是合并后每个commit提交的id记录的顺序而已注意:重要的是如果公司用了grrit,grrit不允许用merge,所以好像都是用rebase却别讲解,比如:在服务器上的develop分支有多人在开发,你们同时clone或pull下来最新代码,但是开发进度不一样,你在开发一个任务的时候其他人提交了编号为1,2的commit和push,你现在开发完了也要提交,你的提交编号是3,4(注意:编号不代表顺序现实