• CDATA C#操作XML(无命名空间),添加/删除/编辑节点


    xml文件
    
    <?xml version="1.0" encoding="utf-8"?>
    <Books>
    <Book ID="1">
    <Title>C#入门经典</Title>
    <Price>95.00</Price>
    </Book>
    <Book ID="13">
    <Title>C#从入门到精通</Title>
    <Price>145.00</Price>
    </Book>
    <Book ID="4">
    <Title>Java高级编程</Title>
    <Price>165.00</Price>
    </Book>
    </Books>
    
          
    
           //添加xml节点
            private void addxml()
            {
                XmlDocument xmldoc = new XmlDocument();
                //加载xml文件
                xmldoc.Load(@"E:\Test\Test\tt.xml");
                //查找 根节点 Books
                XmlNode root = xmldoc.SelectSingleNode("Books");
                //创建 子节点 Book
                XmlElement book = xmldoc.CreateElement("Book");
                book.SetAttribute("ID", "2");//设置子节点属性
                //创建 Book 子节点 Title
                XmlElement title = xmldoc.CreateElement("Title");
                title.InnerText = "C#高级编程";
                //title 节点 添加到 root
                book.AppendChild(title);
                //创建 Book 子节点 Price
                XmlElement price = xmldoc.CreateElement("Price");
                price.InnerText = "145.00";
                //price 节点 添加到 root
                book.AppendChild(price);
    
                //最后把book 节点添加到root
                root.AppendChild(book);
                //保存
                xmldoc.Save(@"E:\Test\Test\tt.xml");
            }
    
            //删除xml 节点
            private void deletexml()
            {
                XmlDocument xmldoc = new XmlDocument();
                //加载xml文件
                xmldoc.Load(@"E:\Test\Test\tt.xml");
    
                /*
                //查找到ID=2的节点,删除book 下面的子节点,最后会留下一个空的<book></book>
                XmlNodeList nodelist = xmldoc.SelectNodes("//Books/Book[@ID=2]");//需了解xpath
                foreach (XmlNode n in nodelist)
                {
                    XmlElement xe = (XmlElement)n;
                    //删除属性
                    xe.RemoveAllAttributes();
                    //删除节点
                    xe.RemoveAll();
                }
                 */
                //删除 book=2 节点(包括book 节点)
                XmlNodeList nodelist = xmldoc.SelectNodes("//Books/Book[@ID=2]");//需了解xpath
                foreach (XmlNode n in nodelist)
                {
                    n.ParentNode.RemoveChild(n);
                }
    
                //保存
                xmldoc.Save(@"E:\Test\Test\tt.xml");
            }
            //修改xml 节点
            private void updatexml()
            {
                XmlDocument xmldoc = new XmlDocument();
                //加载xml文件
                xmldoc.Load(@"E:\Test\Test\tt.xml");
                //查找到ID=2的节点,删除book 下面的子节点,最后会留下一个空的<book></book>
                XmlNodeList nodelist = xmldoc.SelectNodes("//Books/Book[@ID=3]");//需了解xpath
                foreach (XmlNode n in nodelist)
                {
                    XmlElement xe = (XmlElement)n;//XmlElement继承XmlNode
                    //将属性 修改为13
                    xe.SetAttribute("ID","13");
                    //查找title节点
                    XmlNode nn = n.SelectSingleNode("Title");
                    nn.InnerText = "C#从入门到精通";
                }
                //保存
                xmldoc.Save(@"E:\Test\Test\tt.xml");
            }
    
    操作节点还有CDATA
    
    需要操作的XML文件:
    
    <Info>
    <Link><![CDATA[<a href="http://www.52taiqiu.com">52台球网</a>]]></Link>
    </Info>
    
    修改Link中的值
    
    XmlDocument xmldoc = new XmlDocument();
    //加载xml文件
    xmldoc.Load(@"E:\Test\Test\测试.xml");
    XmlNode nameNode = xmldoc.SelectSingleNode("/Info/Link");
    nameNode.InnerText = "";//如果是修改,需要把原先的值清空。
    nameNode.AppendChild(xmldoc.CreateCDataSection("<a href=\"http://www.52taiqiu.com\">52台球网</a>"));
    xmldoc.Save(@"E:\Test\Test\测试.xml");
  • 相关阅读:
    2019-8-31-dotnet-方法名-To-和-As-有什么不同
    2019-8-31-dotnet-方法名-To-和-As-有什么不同
    2018-11-30-WPF-解决-ListView-的滚动条不显示
    2018-11-30-WPF-解决-ListView-的滚动条不显示
    2019-4-29-dotnet-core-通过-frp-发布自己的网站
    2019-4-29-dotnet-core-通过-frp-发布自己的网站
    2019-1-29-jekyll-如何加密博客-防止抓取
    2019-1-29-jekyll-如何加密博客-防止抓取
    2019-8-31-msbuild-项目文件常用判断条件
    XenServer Tools安装
  • 原文地址:https://www.cnblogs.com/xyzhuzhou/p/2661840.html
Copyright © 2020-2023  润新知