unity | 写一个XML和用unity读取XML
一、新建一個(gè)XML文檔
打開VS→另存為→格式選擇xml
二、了解xml的語法規(guī)則
1.開頭固定
就是開頭必須有這一行,當(dāng)然,里面的版本和編碼格式,如果你懂的話,也可以自己改其他的。
<?xml version="1.0" encoding="utf-8"?> 注釋: 你是哪個(gè)版本的xml? 答:我是1.0版本的 你打算用什么編碼格式? 答:utf-8吧2.這里選用最簡單的方式
下面你可以按照格式隨便寫。
例:我現(xiàn)在想做一個(gè)答題軟件,我需要搞好多題目。
我們需要兩個(gè)<>,把你想要的信息包起來,<>里面填絕大部分單詞都可以,開頭直接寫單詞,結(jié)尾單詞前帶個(gè)/
例:
<Item>約翰·提托</Item>
<apple>約翰·提托</apple>
<?xml version="1.0" encoding="utf-8"?> <AllQuestion><Question><Problem>命運(yùn)石之門男主角的網(wǎng)名是?</Problem><Answer>鳳凰院兇真</Answer><Item>約翰·提托</Item><Item>鳳凰院兇真</Item><Item>栗悟飯和龜派氣功</Item><Item>鳳凰院胸針</Item></Question><Question><Problem>傅里葉級(jí)數(shù)是傅里葉在研究哪種物理現(xiàn)象時(shí)提出的?</Problem><Answer>熱傳導(dǎo)</Answer><Item>量子力學(xué)</Item><Item>熱傳導(dǎo)</Item></Question> </AllQuestion>我這里這么寫是,問題用Problem
答案用Answer
選項(xiàng)用Item
每個(gè)問題用Question隔開
除此之外,必須要明確整個(gè)文件,開頭和結(jié)尾在哪?所以最外面也需要包一層,我這里用的是AllQuestion,以上的單詞你都可以自己改。
具體有些犯忌的條件請(qǐng)參考:XML介紹 、XML約束 、XML解析(特別詳細(xì),跟著看一遍就懂了)_肥兄的博客-CSDN博客_xml詳解
三、用Unity讀取XML
xn 代表一個(gè)結(jié)點(diǎn)xn.Name;//這個(gè)結(jié)點(diǎn)的名稱 xn.Value;//這個(gè)結(jié)點(diǎn)的值 xn.ChildNodes;//這個(gè)結(jié)點(diǎn)的所有子結(jié)點(diǎn) xn.ParentNode;//這個(gè)結(jié)點(diǎn)的父結(jié)點(diǎn)例:如果我想讀到上面的“命運(yùn)石之門男主角的網(wǎng)名是?”和“傅里葉級(jí)數(shù)是傅里葉在研究哪種物理現(xiàn)象時(shí)提出的?”這兩個(gè)問題。
1.需要讀取XML這個(gè)文件,我把這個(gè)文件放在streamingAssets里面,這個(gè)文件我起名叫題目
則,代碼為:
XDocument xDocument = XDocument.Load("file://"+Application.streamingAssetsPath+"//題目.xml"); //太長了,我就回車了2.我需要獲取這個(gè)文件內(nèi)容,從開頭到結(jié)尾
?就是前面講過的,上面這句,這里面的AllQuestion也叫作根目錄。
//xml里面有根目錄,先把根目錄挑出來 XElement root = xDocument.Root;//把根目錄第一層中所有的標(biāo)志都提取出來 IEnumerable ienumerable = root.Elements();//先遍歷第一層根目錄 foreach (XElement element in ienumerable) {//先遍歷第二層根目錄foreach (XElement child in element.Elements()) {//把每一部分的內(nèi)容挑出來if (child.Name == "Problem"){Debug.Log(child.Value); //這個(gè)child.Value就是我們的問題}}總結(jié)
以上是生活随笔為你收集整理的unity | 写一个XML和用unity读取XML的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Java开发常用的在线工具
 - 下一篇: Studio 3T for MongoD