谁来帮我把这个表 写成XML
表的字段如下:
id actionname url image state
1000系统管理 b.aspx '' 1
1001添加用户 b.aspx '' 1
1002修改用户 b.aspx '' 1
1003删除用户 b.aspx '' 1
1004查看用户 b.aspx '' 1
1005修改权限 b.aspx '' 1
1100客户管理 b.aspx '' 1
1101添加客户 b.aspx '' 1
1102修改客户 b.aspx '' 1
1103删除客户 b.aspx '' 1
1104查看客户 b.aspx '' 1
写成xml格式如下:
<?xml version="1.0" encoding="utf-8" ?>
<Root>
<Node Text="系统管理" ImageUrl="" NavigateUrl="" Expand="true">
<Node Text="添加用户" NavigateUrl="b.aspx"/>
<Node Text="修改用户" NavigateUrl="b.aspx"/>
<Node Text="删除用户" NavigateUrl="b.aspx"/>
<Node Text="查看用户" NavigateUrl="b.aspx"/>
</Node>
<Node Text="客户管理" ImageUrl="" NavigateUrl="" Expand="true">
<Node Text="添加客户" NavigateUrl="b.aspx"/>
<Node Text="修改客户" NavigateUrl="b.aspx"/>
<Node Text="删除客户" NavigateUrl="b.aspx"/>
<Node Text="查看客户" NavigateUrl="b.aspx"/>
</Node>
</Root>
[解决办法]
protected void Page_Load(object sender, EventArgs e)
{
XmlDocument doc = new XmlDocument();
XmlNode declareNode = doc.CreateXmlDeclaration("1.0", "", "");
doc.AppendChild(declareNode);
XmlNode booksNode = doc.CreateElement("booksStore");
XmlNode bookNode = CreateXML(doc);
booksNode.AppendChild(bookNode);
XmlNode bookNode2 = CreateXML(doc);
booksNode.AppendChild(bookNode2);
doc.AppendChild(booksNode);
Response.Write(doc.InnerXml);
}
XmlNode CreateXML(XmlDocument doc)
{
XmlNode bookNode = doc.CreateElement("book");
doc.AppendChild(bookNode);
XmlAttribute genreAttribute = doc.CreateAttribute("genre");
genreAttribute.Value = "haha";
bookNode.Attributes.Append(genreAttribute);
XmlNode bookName = doc.CreateElement("bookName");
bookName.InnerText = "ASP.NET AND xml";
bookNode.AppendChild(bookName);
XmlNode bookPrice = doc.CreateElement("price");
bookPrice.InnerText = "10<>0";
bookNode.AppendChild(bookPrice);
return bookNode;
}
修改下 就可有满足你的要求!
[解决办法]
lz偷懒了,上面的代码就是需要逻辑修改一下就可以用了阿
[解决办法]
顶顶...看
[解决办法]
public DataTable GetData()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("id",typeof(string)));
dt.Columns.Add(new DataColumn("actionname", typeof(string)));
dt.Columns.Add(new DataColumn("url", typeof(string)));
dt.Columns.Add(new DataColumn("image", typeof(string)));
dt.Columns.Add(new DataColumn("state", typeof(string)));
// id actionname url image state
dt.LoadDataRow(new string[] { "1000", "系统管理", " b.aspx", "", "1" }, true);
dt.LoadDataRow(new string[] { "1001", "添加用户", " b.aspx", "", "1" }, true);
dt.LoadDataRow(new string[] { "1002", "修改用户", " b.aspx", "", "1" }, true);
dt.LoadDataRow(new string[] { "1003", "删除用户", " b.aspx", "", "1" }, true);
dt.LoadDataRow(new string[] { "1004", "查看用户", " b.aspx", "", "1" }, true);
dt.LoadDataRow(new string[] { "1005", "修改权限", " b.aspx", "", "1" }, true);
dt.LoadDataRow(new string[] { "1100", "客户管理", " b.aspx", "", "1" }, true);
dt.LoadDataRow(new string[] { "1101", "添加客户", " b.aspx", "", "1" }, true);
dt.LoadDataRow(new string[] { "1102", "修改客户", " b.aspx", "", "1" }, true);
dt.LoadDataRow(new string[] { "1103", "删除客户", " b.aspx", "", "1" }, true);
dt.LoadDataRow(new string[] { "1104", "查看客户", " b.aspx", "", "1" }, true);
return dt;
}
public string GetXml()
{
DataTable dt = GetData();
XmlDocument xmlDoc = new XmlDocument();
XmlDeclaration declare = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "");
xmlDoc.AppendChild(declare);
XmlElement root = xmlDoc.CreateElement("Root");
xmlDoc.AppendChild(root);
XmlElement pElement= null, cElement= null;
XmlAttribute attribute;
for (int i = 0; i < dt.Rows.Count; i++)
{
if (Convert.ToString(dt.Rows[i]["id"]).Substring(2, 2) == "00")
{//如果是目
pElement = xmlDoc.CreateElement("Node");
root.AppendChild(pElement);
attribute = xmlDoc.CreateAttribute("Text");
attribute.Value = Convert.ToString(dt.Rows[i]["actionname"]);
pElement.Attributes.Append(attribute);
attribute = xmlDoc.CreateAttribute("ImageUrl");
attribute.Value = Convert.ToString(dt.Rows[i]["image"]);
pElement.Attributes.Append(attribute);
attribute = xmlDoc.CreateAttribute("NavigateUrl");
attribute.Value = Convert.ToString(dt.Rows[i]["url"]);
pElement.Attributes.Append(attribute);
attribute = xmlDoc.CreateAttribute("Expand");
attribute.Value = "true";
pElement.Attributes.Append(attribute);
}
else
{
cElement = xmlDoc.CreateElement("Node");
pElement.AppendChild(cElement);
attribute = xmlDoc.CreateAttribute("Text");
attribute.Value = Convert.ToString(dt.Rows[i]["actionname"]);
cElement.Attributes.Append(attribute);
attribute = xmlDoc.CreateAttribute("NavigateUrl");
attribute.Value = Convert.ToString(dt.Rows[i]["url"]);
cElement.Attributes.Append(attribute);
}
}
return xmlDoc.OuterXml;
}
[解决办法]
将6楼代码的最后一行
- C# code
// return xmlDoc.OuterXml; //改为xmlDoc.Save(Server.MapPath("x.xml"));