zoukankan      html  css  js  c++  java
  • 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);
    }
    }
    }

  • 相关阅读:
    记一次Redis+Getshell经验分享
    冰蝎动态二进制加密WebShell基于流量侧检测方案
    ubuntu16下安装mongodb 3.6
    centos安装sass环境必看
    CLR 调试体系结构
    CLR 调试概述
    CLR Exception---E0434352
    关于System.MissingMethodException异常
    关于异常System.ArgumentException
    从.NET/CLR返回的hresult:0x8013XXXX的解释
  • 原文地址:https://www.cnblogs.com/xwwFrank/p/4818593.html
Copyright © 2011-2022 走看看