C#用递归生成xml文件代码

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Xml;
using BLL;

/// <summary>
/// Xml 的摘要说明
/// </summary>
public class Xml
{
public Xml()
{
//
// TODO: 在此处添加构造函数逻辑
//

}
/// <summary>
/// 根据用户id创建用户xml
/// </summary>
/// <param name="userId"></param>
public static void CreateXmlByUserId(int userId)
{

if (File.Exists("Xml/Tree.xml"))
{
File.Delete("Xml/Tree.xml");
}
XmlDocument xd = new XmlDocument();
XmlDeclaration xdl = xd.CreateXmlDeclaration("1.0", "utf-8", null);
xd.AppendChild(xdl);
  XmlElement xe = xd.CreateElement("TREENODES");//
xe.SetAttribute("text", "TreeNodes Root");
xe.SetAttribute("url", "javascript:void(-1)");
xmlCreate(xe, xd,userId);
xd.AppendChild(xe);
xd.Save("Xml/Tree.xml");
}
/// <summary>
/// 获取父级
/// </summary>
/// <param name="xe"></param>
/// <param name="xd"></param>
private static void xmlCreate(XmlElement xe, XmlDocument xd, int userId)
{
DataTable dt = FunctionManager.GetDataTableByUserId(userId);
DataRow[] rows = dt.Select("parentId=0");
foreach (DataRow row in rows)
{
XmlElement xee = xd.CreateElement("treenode");
xee.SetAttribute("text", row["functionName"].ToString());
xee.SetAttribute("url", "javascript:void(" + row["id"] + ")");
int parentId = Convert.ToInt32(row["id"]);
XmlElementCreate(dt, parentId, xee, xd);
xe.AppendChild(xee);
}
}
/// <summary>
/// 根据父级获取子级
/// </summary>
/// <param name="dt">数据集</param>
/// <param name="pId">父级id</param>
/// <param name="xee">xmlElement对象</param>
/// <param name="xd">xml文档对象</param>
private static void XmlElementCreate(DataTable dt, int pId, XmlElement xee, XmlDocument xd)
{
DataRow[] rows = dt.Select("parentId=" + pId);
foreach (DataRow row in rows)
{
XmlElement xElement = xd.CreateElement("treenode");
xElement.SetAttribute("text", row["functionName"].ToString());
xElement.SetAttribute("url", "javascript:void(" + row["id"] + ")");
int parentId = Convert.ToInt32(row["id"]);
XmlElementCreate(dt, parentId, xElement, xd);
xee.AppendChild(xElement);
}

}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值