关于XML的读写操作以及查询操作

前端之家收集整理的这篇文章主要介绍了关于XML的读写操作以及查询操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我们在做一些项目的时候,往往会用XML来配置内部成员,部署他们之间的关系,使得程序运行起来不至于太混乱,今天就稍微讲解一下关于XML的一些用法

XML文件的脚本形式非常的简单,所以XML文件不一定由程序员来编写,关于项目中元素之间的层级关系,策划是最清除的,所有有时候xml文件是由策划或者部分美工来编写,或者是程序员给他们编写一些内定好形式的XML生成器。下面我就我曾经写过的一个生成器简单的做一些关于XML文件的读写以及查询操作。

首先是创建XML文件:(以根节点Product为例)

//实例化一个XML文档
XmlDocument xmlDoc = new XmlDocument();
//创建root节点,最上层节点
XmlElement
rootnode = xmlDoc.CreateElement("Product");


//将节点添加到而文件中并保存
xmlDoc.AppendChild(rootnode);


//设置文件路径,并保存路径,然后保存文档
path =Application.persistentDataPath+"/" + XMLname.text + ".xml";

xmlDoc.Save(path);

print("XML创建成功!!!");

这个就生成只有一个根节点的XML文件。下面就是往根节点下面添加若干子节点以及元素。

//创建下一个节点
XmlElement Root = xmlDoc.CreateElement("Root");
//下一级节点
XmlElement Type = xmlDoc.CreateElement("Type");


接下来就是给根节点Product下面的Root,和Type节点赋予属性

//设置节点属性
Root.SetAttribute("kind",RootKind);
Type.SetAttribute("type",Typetype);

RootKindTypetype为string类型,是自定义的)


若想把type节点作为Root的子节点,则操作如下:

Root.AppendChild(Type);


然后获取根节点,并添加root节点,其操作如下:

//获取XML根节点
XmlNode root_node = xmlDoc.SelectSingleNode("Product");

root_node.AppendChild(Root);

最后添加文件中:

xmlDoc.AppendChild(root_node);

//保存并覆盖原有文件
xmlDoc.Save(path);

这样就生成了拥有根节点Product,以及Root,和Type两个子节点(type为root的子节点)。

同样的 若是想在某个节点下面添加若干个子节点,其操作方法如上。


关于xml读取查询操作,比如,我想取出product节点下的所有子节点的属性,存储于链表中。其操作如下:


//获取XML根节点
XmlNode root_node = xmlDoc.SelectSingleNode("Product");
foreach (XmlNode xm in root_node)
{
XmlElement xe = (XmlElement)xm;
foreach (XmlNode xm2 in xe.ChildNodes)
{
XmlElement xe2 = (XmlElement)xm2;
typevalue.Add(xe2.GetAttribute("type"));
//print(xe2.GetAttribute("type"));


}


kindvalue.Add(xe.GetAttribute("kind"));
// print(xe.GetAttribute("kind"));
}

typevaluekindvalue是定义好的两个list),

这样就把type和kind节点的所有属性都存储于两个list中。


以上是关于XML文件的创建以及简单查询操作,其大概思路就是这样的。如下知道其具体的脚本编写,可以下载我之前做好的一个XML脚本生成器(包括源码和客户端)


下载地址:

链接:http://pan.baidu.com/s/1c08gpB6 密码:kro7


有什么问题或者有错误的地方,欢迎大家指正,谢谢~~~

猜你在找的XML相关文章