XML创建、读取、追加的例子

XML:可扩展的标记语言

例子1: 创建带属性的xml

  XmlDocument doc = new XmlDocument();

            XmlDeclaration dec= doc.CreateXmlDeclaration("1.0", "utf-8","yes");

            doc.AppendChild(dec);

 

            XmlElementorder = doc.CreateElement("Order");

            doc.AppendChild(order);

 

            XmlElementcustomerName = doc.CreateElement("CustomerName");

            customerName.InnerXml = "<p>我是一个p标签</p>";

            order.AppendChild(customerName);

 

            XmlElementcustomerNumber = doc.CreateElement("CustomerNumber");

            customerNumber.InnerText = "<p>我是一个p标签</p>";

            order.AppendChild(customerNumber);

 

 

            XmlElementitems = doc.CreateElement("Items");

            order.AppendChild(items);

 

            XmlElementorderItem1 = doc.CreateElement("OrderItem");

            //给节点添加属性

            orderItem1.SetAttribute("Name", "充气娃娃");

            orderItem1.SetAttribute("Count", "10");

            items.AppendChild(orderItem1);

 

            XmlElementorderItem2 = doc.CreateElement("OrderItem");

            //给节点添加属性

            orderItem2.SetAttribute("Name", "充气娃娃");

            orderItem2.SetAttribute("Count", "10");

            items.AppendChild(orderItem2);

 

            XmlElementorderItem3 = doc.CreateElement("OrderItem");

            //给节点添加属性

            orderItem3.SetAttribute("Name", "充气娃娃");

            orderItem3.SetAttribute("Count", "10");

            items.AppendChild(orderItem3);

 

            doc.Save("Order.xml");

            Console.WriteLine("保存成功");

            Console.ReadKey();

 

例子2:追加XML文档

static void Main(string[] args)

        {

            //追加XML文档

            XmlDocument doc= new XmlDocument();

            XmlElementbooks;

            if (File.Exists("Books.xml"))

            {

                //如果文件存在 加载XML

                doc.Load("Books.xml");

                //获得文件的根节点

                books = doc.DocumentElement;

            }

            else

            {

                //如果文件不存在

                //创建第一行

                XmlDeclaration dec= doc.CreateXmlDeclaration("1.0", "utf-8", null);

                doc.AppendChild(dec);

                //创建跟节点

                books = doc.CreateElement("Books");

                doc.AppendChild(books);

            }

            //5、给根节点Books创建子节点

            XmlElementbook1 = doc.CreateElement("Book");

            //将book添加到根节点

            books.AppendChild(book1);

 

 

            //6、给Book1添加子节点

            XmlElementname1 = doc.CreateElement("Name");

            name1.InnerText = "c#开发大全";

            book1.AppendChild(name1);

 

            XmlElementprice1 = doc.CreateElement("Price");

            price1.InnerText = "110";

            book1.AppendChild(price1);

 

            XmlElementdes1 = doc.CreateElement("Des");

            des1.InnerText = "看不懂";

            book1.AppendChild(des1);

 

 

            doc.Save("Books.xml");

            Console.WriteLine("保存成功");

            Console.ReadKey();

 

        }

 

例子3:读取xml文档

    static void Main(string[] args)

        {

            //XmlDocument doc = new XmlDocument();

            加载要读取的XML

            //doc.Load("Books.xml");

 

            获得根节点

            //XmlElement books = doc.DocumentElement;

 

            获得子节点 返回节点的集合

            //XmlNodeListxnl = books.ChildNodes;

 

            //foreach (XmlNode item in xnl)

            //{

            //   Console.WriteLine(item.InnerText);

            //}

            //Console.ReadKey();

 

 

            //读取带属性的XML文档

 

            //XmlDocument doc = new XmlDocument();

            //doc.Load("Order.xml");

            //Xpath

 

            //XmlDocument doc = new XmlDocument();

            //doc.Load("Order.xml");

            //XmlNodeList xnl = doc.SelectNodes("/Order/Items/OrderItem");

 

            //foreach (XmlNode node in xnl)

            //{

            //   Console.WriteLine(node.Attributes["Name"].Value);

            //   Console.WriteLine(node.Attributes["Count"].Value);

            //}

            //Console.ReadKey();

            //改变属性的值

            //XmlDocument doc = new XmlDocument();

            //doc.Load("Order.xml");

            //XmlNode xn =doc.SelectSingleNode("/Order/Items/OrderItem[@Name='190']");

            //xn.Attributes["Count"].Value ="200";

            //xn.Attributes["Name"].Value = "颜世伟";

            //doc.Save("Order.xml");

            //Console.WriteLine("保存成功");

 

 

 

 

            XmlDocument doc= new XmlDocument();

 

            doc.Load("Order.xml");

 

            XmlNode xn= doc.SelectSingleNode("/Order/Items");

 

            xn.RemoveAll();

            doc.Save("Order.xml");

            Console.WriteLine("删除成功");

            Console.ReadKey();

 

            获得文档的根节点

            //XmlElement order = doc.DocumentElement;

            //XmlNodeList xnl = order.ChildNodes;

            //foreach (XmlNode item in xnl)

            //{

            //    如果不是Items 就continue

            //    //if (item[])

            //    //{

            //    //    continue;

            //    //}

            //   Console.WriteLine(item.Attributes["Name"].Value);

            //   Console.WriteLine(item.Attributes["Count"].Value);

            //}

            Console.ReadKey();

        }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值