Unity Xml教程 之 在Xml文件中删除内容
1、打开Unity,新建一个空工程,具体如下图

2、在工程中,新建一个脚本“XmlTest”,双击脚本或者右键“Open C# Project”打开脚本,具体如下图

3、在“XmlTest”编辑代码,首先引用“System.Xml”和“System.IO”命名空间,然后在“Start”函数里面调用删除Xml数据内容的函数,接着实现删除Xml数据内容函数,具体代码和代码说明如下图


4、“XmlTest”脚本的具体内容如下:
using UnityEngine;
using System.Xml;
using System.IO;
public class XmlTest : MonoBehaviour {
// Use this for initialization
void Start () {
RemoveXmlData ();
}
/// <summary>
/// Removes the xml data.
/// </summary>
private void RemoveXmlData (){
//Xml文件路径
string path = Application.dataPath + "/XmlData.xml";
//判断文件是否存在
if (File.Exists (path)) {
//新建一个Xml,并加载Xml内容
XmlDocument xml = new XmlDocument ();
xml.Load (path);
//获得Xml根节点内容,查找获取内容下对应节点的内容
XmlElement root = xml.DocumentElement;
XmlNodeList elementNodes = root.GetElementsByTagName ("Object");
//获取对应删除子节点,存在及删除
XmlNode Node1 = root.SelectSingleNode("Message[@Id ='1']");
if(Node1 != null){
root.RemoveChild (Node1);
Debug.Log ("节点已删除!");
xml.Save (path);
}
//获取对应删除子节点,判断是否存在
XmlNode Node2 = root.SelectSingleNode("Message[@Id ='2']");
if(Node2 != null){
//获取对应删除子节点下的子节点,存在及删除
XmlNode selectNode = Node2.SelectSingleNode("Content[@Name ='Billy']");
if (selectNode != null) {
Node2.RemoveChild (selectNode);
Debug.Log ("节点已删除!");
xml.Save (path);
}
}
}
}
}
5、脚本编译正确,回到Unity界面,在工程中添加Xml文件“XmlData”,在场景中新建一个“GameObject”,并把脚本“XmlTest”挂载上去,具体如下图


6、“XmlData”文件内容如下:
<Object>
<Message Id="1">
<Contents Name="Any">One More Try!</Contents>
<Mission Task="First">Just Do It!</Mission>
</Message>
<Message Id="2">
<Content Name="Billy">No Pain, No Gain.</Content>
<Mission Task="Second">Practice Makes Perfect!</Mission>
</Message>
</Object>
7、运行场景,在控制台Console即可看到删除成功的打印结果,以删除后“XmlData”的内容,具体如下图


8、到此,《Unity Xml教程 之 在Xml文件中删除内容》讲解结束,谢谢