本人用c#編寫腳本。
創建xml文件時,主要用到System.Xml包中的XmlDocument,XmlNode,XmlElement。下面是創建xml文檔的一般步驟:
XmlDocument doc=new XmlDocument();
//<?xml version="1.0"?>
XmlNode xmlnod=doc.CreateNode(XmlNodeType.XmlDeclaration,"","");
//記得要把這個node加到doc中。
doc.AppendChild(xmlnod);
//剩下的就是創建元素。元素也可以添加元素Child
//例如,以下實現
<item>
<title>123</title>
<name>hello</name>
</item>
XmlElement ele_item=doc.CreateElement("item");
?? XmlElement ele_title=doc.CreateElement("title");
XmlElement ele_name=doc.CreateElement("name");
ele_title.InnerText="123";
ele_name.InnerText="hello";
?
ele_item.AppendChild(ele_title);
?? ele_item.AppendChild(ele_name);
?
//最后,再把<item>加到整體doc下即可
doc.AppendChild(ele_item);
基本就是這個結構了,如果要添加屬性,可以用element.AddAttribute();
?
最后一步,保存xml
doc.save("d:\\hello.xml");
ok,創建xml文件完成!
----------------------------------------------------------------------------------------------------------------------------------------------------------
解析Xml文件的時候會用到XmlNodeReader
解析的時候大體步驟是這樣的:
XmlDocument doc=new XmlDocument();
doc.Load("d:\\hello.xml");//載入xml文件
XmlNodeReader reader=new XmlNodeReader(doc);//創建解析器,解析doc文件
?
while(reader.Read())
{
switch(reader.NodeType)//reader讀到的節點是什么類型的,常用類型如下:
{
case XmlNodeType.Element://為開始元素名,eg.<item>,<title>,<name>
stirng s=reader.Name;//得到元素名是什么,可以用來在if語句中判斷,做自己的事情了
break;
case XmlNodeType.EndElement://結束元素,eg.</item>,</title>,</name>
stirng s=reader.Name;//做自己的邏輯
break;
case XmlNodeType.Text://元素間的文本類型,eg."123","hello"
string mtext=reader.Value;//mtext為文本值,即"123"或者"hello"值
break;
?
}
//ok,解析方法結束
}
xml的解析步驟就是這些,很簡單吧。
?
?
這些東西不是unity3d的,而是c#的。所以這些資料的文檔可以到c#的在線文檔上去查看。關于每個方法基本都會有例子。文檔是個學習的好工具。