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);
}
}
}
C#用递归生成xml文件代码
最新推荐文章于 2022-10-29 13:37:24 发布