当前位置:编程学习 > C#/ASP.NET >>

下边的关于代码有什么问题吗?为什么添加节点总不成功?

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.IO;


namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            createXml();//创建文件和添加基本数据,便于之后操作实验
            addItem();//追加数据
            Console.ReadKey();
        }

        private static void createXml()
        {
            XmlTextWriter writer = new XmlTextWriter(@"F:\C#\Create Learning\Destination\titles.xml", null);
            //使用自动缩进便于阅读
            writer.Formatting = Formatting.Indented;

            //写入根元素
            writer.WriteStartElement("items");
            writer.WriteStartElement("item");
            //写入属性及属性的名字
            writer.WriteAttributeString("类别", "文学");
            writer.WriteAttributeString("品质", "优");
            //加入子元素
            writer.WriteElementString("title", "毛著");
            writer.WriteElementString("author", "毛泽东");
            writer.WriteElementString("price", "10.0");
            //关闭根元素,并书写结束标签
            writer.WriteEndElement();
            writer.WriteEndElement();
            //将XML写入文件并且关闭XmlTextWriter
            writer.Close();
        }
        private static void addItem()
        {
            try
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(@"F:\C#\Create Learning\Destination\titles.xml");
                XmlNode root = xmlDoc.SelectSingleNode("items");
                XmlElement xe1 = xmlDoc.CreateElement("item");
                xe1.SetAttribute("类别", "张三");
                xe1.SetAttribute("品质", "老师");

                XmlElement xmlsub1 = xmlDoc.CreateElement("title");
                xmlsub1.InnerText = "wahahha";
                xe1.AppendChild(xmlsub1);

                XmlElement xmlsub2 = xmlDoc.CreateElement("author");
                xmlsub2.InnerText = "三毛";
                xe1.AppendChild(xmlsub2);

                XmlElement xmlsub3 = xmlDoc.CreateElement("Price");
                xmlsub3.InnerText = "15.00";
                xe1.AppendChild(xmlsub3);

                root.AppendChild(xe1);
                xmlDoc.Save("titles.xml");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.ReadKey();
            }
        }


    }
}
--------------------编程问答-------------------- --------------------编程问答-------------------- 操作都是对的,就是最后save的时候文件路径要写出来:
xmlDoc.Save(@"F:\C#\Create Learning\Destination\titles.xml"); --------------------编程问答--------------------   XmlDocument xmlDoc = new XmlDocument();
  xmlDoc.Load(@"F:\C#\Create Learning\Destination\titles.xml");
  XmlNode root = xmlDoc.SelectSingleNode("items");
这里选择位置错误,你要添加的是子节点应该是
XmlNode nodeList = xmlDoc.SelectSingleNode("PRODUCTDATA").ChildNodes;  XmlElement xe1 = xmlDoc.CreateElement("item");
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,