• XML常用操作


    =======================bookstore.XML内容====================
    <?xml version="1.0" encoding="gb2312"?>
    <bookstore>
      <book>
      </book>
      <book>
      </book>
      <book genre="李赞红" ISBN="2-3631-4">
        <title>CS从入门到精通</title>
        <author>候捷</author>
        <price>58.3</price>
      </book>
      <book genre="李赞红" ISBN="2-3631-4">
        <title>CS从入门到精通</title>
        <author>候捷</author>
        <price>58.3</price>
      </book>
    </bookstore>
    =======================读取========================
     XmlDocument doc = new XmlDocument();
                doc.Load(@"d:\bookstore.xml");
                XmlElement root = doc.DocumentElement;
                //相关操作
                MessageBox.Show(root.SelectNodes("book")[0].InnerText);
    =======================添加=========================
     XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"d:\bookstore.xml");
                XmlNode root = xmlDoc.SelectSingleNode("bookstore");//查找<bookstore>
                XmlElement xe1 = xmlDoc.CreateElement("book");//创建一个<book>节点
                xe1.SetAttribute("genre", "李赞红");//设置该节点的genre属性
                xe1.SetAttribute("ISBN", "2-3631-4");//设置该节点的ISBN属性
    
                XmlElement xesub1 = xmlDoc.CreateElement("title");//添加一个名字为title的子节点
                xesub1.InnerText = "CS从入门到精通";//设置文本
                xe1.AppendChild(xesub1);//把title添加到<book>节点中
    
                XmlElement xesub2 = xmlDoc.CreateElement("author");
                xesub2.InnerText = "候捷";
                xe1.AppendChild(xesub2);
    
                XmlElement xesub3 = xmlDoc.CreateElement("price");
                xesub3.InnerText = "58.3";
                xe1.AppendChild(xesub3);
    
                root.AppendChild(xe1);//把book添加到<bookstore>根节点中
                xmlDoc.Save(@"d:\bookstore.xml");
    ======================修改========================
     XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"d:\bookstore.xml");
                XmlNodeList nodeList = xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
                foreach (XmlNode xn in nodeList)//遍历所有名字为bookstore的子节点
                {
                    XmlElement xe = (XmlElement)xn;//将子节点类型转换为XmlElement类型
                    if (xe.GetAttribute("genre") == "李赞红")//如果genre属性值为“李赞红”
                    {
                        xe.SetAttribute("genre", "update李赞红");//则修改该属性为“update李赞红”
    
                        XmlNodeList nls = xe.ChildNodes;//继续获取xe(xn)子节点的所有子节点
                        foreach (XmlNode xn1 in nls)//遍历
                        {
                            XmlElement xe2 = (XmlElement)xn1;//转换类型
                            if (xe2.Name == "author")//如果找到
                            {
                                xe2.InnerText = "亚胜";//则修改
                                break;//找到退出来
                            }
                        }
                        break;
                    }
                }
                xmlDoc.Save(@"d:\bookstore.xml");//保存。
    ========================删除=========================
     XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"d:\bookstore.xml");
                XmlNodeList xnl = xmlDoc.SelectSingleNode("bookstore").ChildNodes;
    
                foreach (XmlNode xn in xnl)
                {
                    XmlElement xe = (XmlElement)xn;
    
    
                    if (xe.GetAttribute("genre") == "fantasy")
                    {
                        xe.RemoveAttribute("genre");//删除genre属性
                    }
                    else if (xe.GetAttribute("genre") == "update李赞红")
                    {
                        xe.RemoveAll();//删除该节点的全部内容
                    }
                }
                xmlDoc.Save(@"d:\bookstore.xml"); 
  • 相关阅读:
    Spring配置通过动态工厂方法创建的bean
    Spring配置通过静态工厂方法创建的bean
    SpringMVC针对post请求乱码的处理
    SpringMVC的HelloWorld快速入门!
    SpringMVC和Spring的关系
    pageContext、request、session和application区别
    orcale 实现 sql server 里面的表值函数SPLIT
    查询语句有 or 会导致查询速度变慢问题解决
    用谷歌浏览器以及插件 测试接口
    OraCle 记录 实现 sql中的 for xml path ('')
  • 原文地址:https://www.cnblogs.com/shuoshuo/p/2466623.html
Copyright © 2020-2023  润新知