Unity Xml教程 之 在Xml文件中删除内容

2025-10-25 13:00:35

1、打开Unity,新建一个空工程,具体如下图

Unity Xml教程 之 在Xml文件中删除内容

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

Unity Xml教程 之 在Xml文件中删除内容

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

Unity Xml教程 之 在Xml文件中删除内容

Unity 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”挂载上去,具体如下图

Unity Xml教程 之 在Xml文件中删除内容

Unity Xml教程 之 在Xml文件中删除内容

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”的内容,具体如下图

Unity Xml教程 之 在Xml文件中删除内容

Unity Xml教程 之 在Xml文件中删除内容

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

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢