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);
    }
    }
    }

  • 相关阅读:
    MillerRabin
    BM算法总结
    高斯消元处理自由变元的方法
    [IOI2019]矩形区域
    费用流处理负圈的方法
    回文自动机(PAM)总结
    [TJOI2017]龙舟
    luogu P2252 [SHOI2002]取石子游戏|【模板】威佐夫博弈
    博弈论
    构造
  • 原文地址:https://www.cnblogs.com/xwwFrank/p/4818593.html
Copyright © 2011-2022 走看看