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);
          }    
      }
}



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

相关文章推荐

java xml增删改查多种方法

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

C# XML节点的增删改查

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

mybatis mapper.xml数据库映射生成java实体,增删改查sql语句

1.问题描述:使用mybatis生成mapper.xml文件的时候经常遇到数据库表字段很多,写mapper.xml文件时转化成java实体很麻烦,写增删改查的sql时也要做 很多重复的工作。程序员就想...

flex 操作xml 实现增删改查

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

XML节点的增删改查

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

XElement增删改查(转) C#和XML

XElement增删改查(转) using System; using System.Collections; using System.Configuration; using Syst...

xml文档解析之dom4j的增删改查 ,乱码问题

基于Dom解析和SAX解析这两种解析思想,出现了许多解析API,其中dom4j可以使用dom解析的方式高效的解析xml文档。dom4j解析在使用时需要导入第三方jar包,dom4j的开发包可以在网上找...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:XML的增删改查
举报原因:
原因补充:

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