本人用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#的在线文档上去查看。关于每个方法基本都会有例子。文档是个学习的好工具。