我要写一个xml文件,第一次做,请帮忙一下啦
<?xml version="1.0" encoding="utf-8"?>
<tmsinterface tasktype="GetInfo" version="1.0">
<result>
<code></code>
<description></description>
<datatypecount>1</datatypecount>
</result>

<data datatype="Vehi" quantity="">
<batch>
<!-- 当前批次号 -->
<batchno></batchno>
<!-- 共有多少批次 -->
<totalbatch></totalbatch>
<!-- 共有多少数据 -->
<totalqty></totalqty>
</batch>
                 </data>
</tmsinterface>

解决方案 »

  1.   

    /// <summary>
            /// 将数据写入xml文件
            /// </summary>
            /// <param name="name"> 用户名</param>
            /// <param name="status">状态</param>
            /// <param name="content">评论内容</param>
            /// <param name="createtime">发布时间</param>
            protected void WriteXml(string name, string status, string content)
            {             // 将虚拟路径转换成物理路径
                string xmlPath = Server.MapPath("指定xml文件在Web服务器上的虚拟路径");
                // 映射指定物理路径的xml文件
                System.IO.FileInfo fileInfo = new System.IO.FileInfo(xmlPath);
                // 创建表示xml文档的对象实例
                XmlDocument xmlDoc = new XmlDocument();
                // 创建表示根节点的对象实例
                XmlNode root = null;
                if (!fileInfo.Exists)
                {
                    // 如果指定路径的xml文件不存在,则创建该文件
                    // 创建文件的声明节点,例如:<? xml version = '1.0'?>
                    XmlNode xmlNode = xmlDoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
                    xmlDoc.AppendChild(xmlNode);
                    root = xmlDoc.createElement_x("", "Message", "");
                    xmlDoc.AppendChild(root);
                }
                else
                {
                    // 如果指定路径的xml文件存在,则加载该文件
                    xmlDoc.Load(xmlPath);
                    // 获取文档的根元素(节点)
                    root = xmlDoc.DocumentElement;
                }
                            // 创建新的名字为Item的节点,存放一条评论的相关数据
                XmlElement item = xmlDoc.createElement_x("Item");
                // 创建新的名字为ID的节点,存放一条评论的ID
                XmlElement id = xmlDoc.createElement_x("ID");
                Random ran = new Random();
                ran.Next(10);
                // 设置ID节点的内容,并添加到Item节点下
                id.InnerText = Guid.NewGuid().ToString();
                item.AppendChild(id);
                // 创建新的名字为Name的节点,存放发表评论的用户名
                XmlElement nameNode = xmlDoc.createElement_x("Name");
                nameNode.InnerText = name;
                item.AppendChild(nameNode);
                // 创建新的名字为status的节点,存放当前评论的状态(审核:1,未审核:0...)
                XmlElement statusNode = xmlDoc.createElement_x("Status");
                statusNode.InnerText = "0";
                item.AppendChild(statusNode);
                //  创建新的名为Content的节点
                XmlElement contentNode = xmlDoc.createElement_x("Content");
                contentNode.InnerText = content;
                item.AppendChild(contentNode);
                // 创建新的名为CreateTime的节点
                XmlElement createTimeNode = xmlDoc.createElement_x("CreateTime");
                createTimeNode.InnerText = System.DateTime.Now.ToString();
                item.AppendChild(createTimeNode);
                if (root.ChildNodes.Count > 0)
                {
                    // 将新Item节点加入到根节点中,并成为第一个节点,以保证:最新提交的评论在最前面.
                    root.InsertBefore(item, root.ChildNodes[0]);
                }
                else
                {
                    //  如果目前暂无评论,当前提交的是第一条评论
                    root.AppendChild(item);
                }
                xmlDoc.Save(xmlPath);
            }
    参考
      

  2.   

    <tmsinterface tasktype="GetInfo" version="1.0">
    像这样的一个节点,两个属性的怎么写?
      

  3.   

    XmlNode tmsinterface = doc.CreateNode(XmlNodeType.Element, "tmsinterface", "");
    XmlAttribute tasktype= doc.CreateAttribute("tasktype");
    tasktype.InnerText = "GetInfo";                
    tmsinterface.Attributes.Append(tasktype);
      

  4.   

    XmlNode tmsinterface = doc.CreateNode(XmlNodeType.Element, "tmsinterface", "");
    XmlAttribute tasktype= doc.CreateAttribute("tasktype");
    tasktype.InnerText = "GetInfo";   
    tmsinterface.Attributes.Append(tasktype);
    XmlAttribute version= doc.CreateAttribute("version");
    version.InnerText = "1.0";   
    tmsinterface.Attributes.Append(version);
      

  5.   

    完整解决:        XmlDocument xmlDoc = new XmlDocument();
            private void Form1_Load(object sender, EventArgs e)
            {
                try
                {
                    xmlDoc.LoadXml("<?xml version='1.0' encoding='utf-8' ?>" + "<tmsinterface></tmsinterface>");                XmlElement root = xmlDoc.DocumentElement;//根元素
                    AddAttribute(root, "tasktype", "GetInfo");
                    AddAttribute(root, "version", "1.0");                XmlNode subNode = AddSubNode(root, XmlNodeType.Element, "result", "", false);
                    AddSubNode(subNode, XmlNodeType.Element, "code", "", true);
                    AddSubNode(subNode, XmlNodeType.Element, "description", "", true);
                    AddSubNode(subNode, XmlNodeType.Element, "datatypecount", "1", true);
                    subNode = AddSubNode(root, XmlNodeType.Element, "data", "", false);
                    AddAttribute(subNode, "datatype", "Vehi");
                    AddAttribute(subNode, "quantity", "");                subNode = AddSubNode(subNode, XmlNodeType.Element, "batch", "", false);
                    AddComment(subNode, "当前批次号");
                    AddSubNode(subNode, XmlNodeType.Element, "batchno", "", true);
                    AddComment(subNode, "共有多少批次");
                    AddSubNode(subNode, XmlNodeType.Element, "totalbatch", "", true);
                    AddComment(subNode, "共有多少数据");
                    AddSubNode(subNode, XmlNodeType.Element, "totalqty", "", true);                xmlDoc.Save(@"c:\test.xml");
                }
                catch(Exception ex)
                {            }        }
            private XmlAttribute AddAttribute(XmlNode parent, string name, string value)
            {
                XmlAttribute attr = xmlDoc.CreateAttribute(name);
                attr.Value = value;
                parent.Attributes.Append(attr);            return attr;        }
            private XmlNode AddSubNode(XmlNode parent, XmlNodeType type, string name, string value, bool bEndNode)
            {
                XmlNode node = xmlDoc.CreateNode(type, name,"");            if(bEndNode) //末端节点
                {
                    node.InnerText = value;
                }            parent.AppendChild(node);
                return node;
            }
            private XmlComment AddComment(XmlNode parent, string value)
            {
                XmlComment comment = xmlDoc.CreateComment(value);
                parent.AppendChild(comment);            return comment;        }