• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > c#递归生成XML实例

c#递归生成XML实例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#生成xml文件,c#如何生成xml文件,c#怎么生成xml文件,c#生成xml,c#生成xml字符串等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了c#递归生成XML的方法。分享给大家供大家参考。具体实现方法如下:

这里结合网上搜到的资料,写了个递归生成xml,经过调试可以使用,数据库结构如下图所示:

代码如下:
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
//using System.Data;
using System.Data.SqlClient;

namespace WindowsApplication1
{
    public partial class frmReadXML : Form
    {
        public frmReadXML()
        {
            InitializeComponent();
        }
        public string connstr = System.Configuration.ConfigurationManager.AppSettings["connstr"].ToString();
      
        private void frmReadXML_Load(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection(connstr);
            conn.Open();
            SqlCommand comm = new SqlCommand();
            comm.CommandText = "select * from Nationals";
            comm.Connection = conn;
            comm.CommandType = CommandType.Text;
            SqlDataAdapter sda = new SqlDataAdapter();
            sda.SelectCommand = comm;
            DataSet ds = new DataSet();
            sda.Fill(ds);

            XmlDocument doc = new XmlDocument();
            doc.AppendChild(doc.CreateXmlDeclaration("1.0","",""));
            XmlElement rootnode = doc.CreateElement("root");
            doc.AppendChild(rootnode);

            CreateXMLtree(ds,doc,"",(XmlElement)null);

        }
        DataRow[] dr;
       
        public void CreateXMLtree(DataSet ds, XmlDocument doc, string parentCode,XmlElement parentNode)
        {

            if (parentCode == "")
            {
                 dr = ds.Tables[0].Select("parentCode=''");
            }
            else
            {
                dr = ds.Tables[0].Select("parentCode='" + Convert.ToString(parentCode) + "'");
            }
            XmlElement tempNode;
            foreach (DataRow drv in dr)
            {
                if (parentCode == "")
                {
                    tempNode = doc.CreateElement("c"+drv["Code"].ToString()); //创建一级节点
                    tempNode.SetAttribute("name", drv["name"].ToString()); //创建属性
                    //tempNode.InnerText = drv["name"].ToString();
                    doc.DocumentElement.AppendChild(tempNode);//添加一级节点
                    CreateXMLtree(ds,doc,drv["Code"].ToString(),tempNode);
                }
                else
                {
                    tempNode = doc.CreateElement("c"+drv["Code"].ToString().Replace(".", ""));
                    tempNode.SetAttribute("name", drv["name"].ToString());
                    //tempNode.InnerText = drv["name"].ToString();
                    parentNode.AppendChild(tempNode);
                    CreateXMLtree(ds, doc, drv["Code"].ToString(), tempNode);
                }
            }
            doc.Save(AppDomain.CurrentDomain.BaseDirectory+"/xxx.xml");
           
        }
    }
}</div>

希望本文所述对大家的C#程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • c#递归生成XML实例
  • C#操作XML文件实例汇总
  • c#中XML解析文件出错解决方法
  • 在C#中创建和读取XML文件的实现方法
  • C#对XML文件的各种操作实现方法
  • 用C#把文件转换为XML的代码

相关文章

  • 2017-05-28C#中判断字符串是全角还是半角的实现代码
  • 2017-05-28C#判断一天、一年已经过了百分之多少的方法
  • 2017-05-28淘宝IP地址库采集器c#代码
  • 2017-05-28C#创建安全的栈(Stack)存储结构
  • 2017-05-28C#泛型约束的深入理解
  • 2017-05-28c# 实现子窗口关闭父窗口也关闭的简单实例
  • 2017-05-28C#隐式/显示实现接口方法详解
  • 2017-05-28C#下实现创建和删除目录的实例代码
  • 2017-05-28VS2010写的程序在自己电脑可以运行、其他电脑上不能运行的解决方案
  • 2017-05-28C#实现获取运行平台系统信息的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 深入分析NTFS中文件被锁定导致Process.Start失败的详解
    • C#图书管理系统 附源码下载
    • C#清除字符串内空格的方法
    • C#统计C、C++及C#程序代码行数的方法
    • C# 利用StringBuilder提升字符串拼接性能的小例子
    • C#类中属性与成员变量的使用小结
    • C#制作多线程处理强化版网络爬虫
    • C# 字符串string和内存流MemoryStream及比特数组byte[]之间相互转换
    • C#中使用JSON.NET实现JSON、XML相互转换
    • C#通过链表实现队列的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有