XML的增删改查

原创 2015年11月19日 11:36:26

关于XML的增删改查的研究 下面的是测试代码

using UnityEngine;
using System.Collections;
using System.IO;
using System.Xml;

public class XMLScript : MonoBehaviour {

	
	void Start () {
       // CreateXml();
        //ShowXml();
       // AddXml();
        //ChangeXml();
        DeleteXml();
	}
	
	void Update () {
	
	}
    //创建XML
    void CreateXml() {    
        string filePath = Application.dataPath + "/Xml/Lc.xml";
        if (!File.Exists(filePath))
        {
            XmlDocument xmldoc = new XmlDocument();//实例化一个XML文件
            //创建更节点
            XmlElement root = xmldoc.CreateElement("threeHello");
            //创建子节点:版本
            XmlNode version = xmldoc.CreateXmlDeclaration("1.0", "utf-8", null);
            //创建子节点:注释
            XmlNode commentNode = xmldoc.CreateComment("LCs threeHello_2015.10.16");

            //
            XmlElement lc1 = xmldoc.CreateElement("Lc1sthreeHello");
            lc1.SetAttribute("id", "0");
            lc1.SetAttribute("name", "long");

            XmlElement x_Hello = xmldoc.CreateElement("x");
            x_Hello.InnerText = "90";
            XmlElement y_Hello = xmldoc.CreateElement("y");
            y_Hello.InnerText = "17";
            XmlElement z_Hello = xmldoc.CreateElement("z");
            z_Hello.InnerText = "105";
            //将xyz_hello放进到lc1
            lc1.AppendChild(x_Hello);
            lc1.AppendChild(y_Hello);
            lc1.AppendChild(z_Hello);
            //lc1放入根节点的root
            root.AppendChild(lc1);

            //将版本,根节点,注释
            xmldoc.AppendChild(version);
            xmldoc.AppendChild(root);
            xmldoc.AppendChild(commentNode);
            xmldoc.Save(filePath);
        }
        
    }
    //查看
    void ShowXml()
    {
        string filePath = Application.dataPath + "/Xml/Lc.xml";
        if (File.Exists(filePath))
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(filePath);//查看
            //通过找到更节点,找到其中的子节点
            XmlNodeList nodeList = xmlDoc.SelectSingleNode("threeHello").ChildNodes;//找一个节点
            foreach (XmlElement item in nodeList)
            {
                Debug.Log(item.GetAttribute("id"));
                Debug.Log(item.GetAttribute("name"));
                foreach (XmlElement item2 in item.ChildNodes)
                {
                    Debug.Log(item2.Name);
                    Debug.Log(item2.InnerText);
                }
            }
        }
    }
    //增加
    void AddXml() {
        string filePath = Application.dataPath + "/Xml/Lc.xml";
        if (File.Exists(filePath))
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(filePath);
            XmlElement lc2 = xmlDoc.CreateElement("Lc2sthreeHello");
            lc2.SetAttribute("id", "1");
            lc2.SetAttribute("name", "liu");

            XmlElement x_Hello = xmlDoc.CreateElement("x");
            x_Hello.InnerText = "83";
            XmlElement y_Hello = xmlDoc.CreateElement("y");
            y_Hello.InnerText = "16.5";
            XmlElement z_Hello = xmlDoc.CreateElement("z");
            z_Hello.InnerText = "97";
            lc2.AppendChild(x_Hello);
            lc2.AppendChild(y_Hello);
            lc2.AppendChild(z_Hello);

            XmlNode root = xmlDoc.SelectSingleNode("threeHello");
            root.AppendChild(lc2);
            xmlDoc.Save(filePath);
        }
    }
    void ChangeXml()
    {
        string filePath = Application.dataPath + "/Xml/Lc.xml";
        if (File.Exists(filePath))
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(filePath);//查看
            //通过找到更节点,找到其中的子节点
            XmlNodeList nodeList = xmlDoc.SelectSingleNode("threeHello").ChildNodes;//找一个节点
            foreach (XmlElement item in nodeList)
            {
                Debug.Log(item.GetAttribute("id"));
                Debug.Log(item.GetAttribute("name"));
                if (item.Name=="Lc1sthreeHello")
                {
                    foreach (XmlElement item2 in item.ChildNodes)
                    {
                        Debug.Log(item2.Name);
                        Debug.Log(item2.InnerText);
                        if (item2.Name == "y")
                        {
                            item2.InnerText = "0.5";
                        }
                    } 
                }      
            }
            xmlDoc.Save(filePath);
        }    
    }

      void DeleteXml() {
          string filePath = Application.dataPath + "/Xml/Lc.xml";
          if (File.Exists(filePath))
          {
              XmlDocument xmlDoc = new XmlDocument();
              xmlDoc.Load(filePath);//查看
              //通过找到更节点,找到其中的子节点
              XmlNodeList nodeList = xmlDoc.SelectSingleNode("threeHello").ChildNodes;//找一个节点
              foreach (XmlElement item in nodeList)
              {
                  Debug.Log(item.GetAttribute("id"));
                  Debug.Log(item.GetAttribute("name"));
                  item.RemoveAttribute("id");
                  if (item.Name == "Lc1sthreeHello")
                  {
                      foreach (XmlElement item2 in item.ChildNodes)
                      {
                          Debug.Log(item2.Name);
                          Debug.Log(item2.InnerText);
                         // item1.RemoveChild(item2.FirstChild);
                          if (item2.Name == "y")
                          {
                              item2.InnerText = "0.5";
                              item2.RemoveAll();//只是删除数字
                             
                          }
                      }
                  }
              }
              xmlDoc.Save(filePath);
          }    
      }
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

【XML】XML的基本使用(增删改查)

文章参考:http://www.xuanyusong.com/archives/1901 C# using UnityEngine; using System.Collections; us...
  • ldy597321444
  • ldy597321444
  • 2016年11月17日 19:21
  • 2294

MyBatis -- 对表进行增删改查(基于XML的实现)

1、MyBatis对表中数据进行增/删/改/查操作 在前一篇中已经知道怎么搭建环境并且查询数据库  MyBatis -- 一步步教你使用MyBatis 接下来我们来看看怎么用MyBatis进行...
  • u014034854
  • u014034854
  • 2015年08月06日 22:38
  • 3235

java 使用DOM4J对XML文件进行增删改查操作

源代码: DOM4j.javapackage com.zc.homeWork19;import java.io.FileWriter; import java.util.ArrayList; imp...
  • zc2274460
  • zc2274460
  • 2016年04月18日 20:37
  • 3889

flex 操作xml 实现增删改查

  • 2010年04月01日 00:53
  • 12KB
  • 下载

XML节点的增删改查

  • 2009年03月07日 10:50
  • 80KB
  • 下载

C#对XML文件进行操作(增删改查)

  • 2013年05月31日 14:19
  • 52KB
  • 下载

Configuration对properties、xml配置文件的【增删改查】及动态加载

  • 2017年01月13日 21:12
  • 1.56MB
  • 下载

java xml增删改查多种方法

  • 2010年02月05日 22:32
  • 514KB
  • 下载

C# XML节点的增删改查

  • 2009年10月23日 14:44
  • 2KB
  • 下载

带命名空间的XML增删改查操作实例

  • 2014年12月15日 17:37
  • 271KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XML的增删改查
举报原因:
原因补充:

(最多只允许输入30个字)