All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
解析:如何在,ASP.NET,中下载文件_[Asp.Net教程]
delphi一个简单组件编程示例
图片、文件防盗链程序_.net资料_编程技术
PHP技巧:PHP如何读取COOKIES_[PHP教程]
PHP实例:一个比较完善的购物车类_[PHP教程]
自动备份SQL,Server数据库中用户创建的Stored,Procedures_[SQL,Server教程]
ASP.NET备份恢复SqlServer数据库_[Asp.Net教程]
SQL SERVER数据库开发之存储过程的应用_[SQL Server教程]
在ASP.NET程序中值得注意的两个地方_.net资料_编程技术
C#教程:在GDI+中缩放图像
Reading number is top 10 pictures
乳娘帕梅拉安德森5
Fender Bender that so horrifying1
Sora aoi be huged like a bear
The cat shit
The real super beauty2
The money of more than 100 countries and regions9
The money of more than 100 countries and regions16
Born After 90 Beijing sports university campus flower photos5
So beauty, will let you spray blood9
Angie Chiu vijara myth2
Download software ranking
VC++6.0培训教程
圣殿祭司的ASP.NET.2.0.开发详解-使用C#
功夫熊猫2(上集)
Boxer's Top ten classic battle8
Unix video tutorial15
Unix video tutorial4
WebService在.NET中的实战应用教学视频 → 第5集
C#程序员参考手册
变速齿轮3.26
Unix video tutorial1
delv published in(发表于) 2014/1/24 9:07:18 Edit(编辑)
ASP.NET中动态生成Xml格式文档,并转换为HTML文件_[Asp.Net教程]

ASP.NET中动态生成Xml格式文档,并转换为HTML文件_[Asp.Net教程]

ASP.NET中动态生成Xml格式文档,并转换为HTML文件_[Asp.Net教程]























程序实现功能:




1.读取数据,点解“获取”按钮动态生成XML格式的文档,并把生成的文档放在TEXTBOX或者生成一个XML文件。




2.点击“浏览”按钮,把获取到的XML格式文档,转换成HTML,在浏览器中显示。







首先在ASPX对应的CS文件中引入using System.Xml;




int m = 0; int loop = 0;




//根据指定的获取深度DEPTH获取用于生成XML文档的数据
private int initData(string[] parent, string[] guid, string[] path, string[] name, ChannelCollection cc,int depth)
{


foreach (Channel channel in cc)
{

parent[m] = channel.Parent.Guid;
guid[m] = channel.Guid;
path[m] = channel.Path;
name[m] = channel.Name;
m = m + 1;
if (channel.Channels.Count!=0 &&loop {
ChannelCollection c = channel.Channels;




++loop;
initData( parent, guid, path, name, c,depth);




}

}
return m;
}




//点击“获取XML内容“按钮执行的事件
protected void ButtonGetXml_Click(object sender, EventArgs e)
{




ChannelCollection cc = selectedChannel.Channels;
string[] parent =new string[1000];
string[] guid = new string[1000];
string[] path = new string[1000];
string[] style = new string[1000];
string[] name = new string[1000];
int i=0;




int depth = int.Parse( DropDownListGetDepth.SelectedValue);
//根据指定的获取深度DEPTH获取用于生成XML文档的数据
i=initData(parent, guid, path, name, cc,depth);
//创建XML 文档对象
document = new XmlDocument();
//创建XML节点元素
XmlElement channelsElement = document.CreateElement("Channels");
document.AppendChild(channelsElement);




for (int k = 1; k <=i; k++)
{
channelsElement.AppendChild(document.CreateElement("CHANNEL"));
}
//根据元素节点名获取元素节点
XmlNodeList nodelist = document.GetElementsByTagName("CHANNEL");
int size = nodelist.Count;
for (int k = 0; k < size; k++)
{
XmlNode node = nodelist.Item(k);

XmlElement elementNode = (XmlElement)node;
//elementNode.SetAttribute("guid",guid[k]);设置元素属性
elementNode.AppendChild(document.CreateElement("PARENT"));
elementNode.AppendChild(document.CreateElement("GUID"));
elementNode.AppendChild(document.CreateElement("PATH"));
elementNode.AppendChild(document.CreateElement("NAME"));
}




XmlNodeList nodelistParent = document.GetElementsByTagName("PARENT");
int sizeParent = nodelistParent.Count;
for (int k = 0; k < sizeParent; k++)
{
XmlNode node = nodelistParent.Item(k);

XmlElement elementNode = (XmlElement)node;
//用初始化后的数据生成对应元素节点的文本节点
elementNode.AppendChild(document.CreateTextNode(parent[k]));

}




XmlNodeList nodelistGuid = document.GetElementsByTagName("GUID");
int sizeGuid = nodelistGuid.Count;
for (int k = 0; k < sizeGuid; k++)
{
XmlNode node = nodelistGuid.Item(k);

XmlElement elementNode = (XmlElement)node;
elementNode.AppendChild(document.CreateTextNode(guid[k]));




}
XmlNodeList nodelistPath = document.GetElementsByTagName("PATH");
int sizePath = nodelistPath.Count;
for (int k = 0; k < sizePath; k++)
{
XmlNode node = nodelistPath.Item(k);

XmlElement elementNode = (XmlElement)node;
elementNode.AppendChild(document.CreateTextNode(path[k]));




}
XmlNodeList nodelistName = document.GetElementsByTagName("NAME");
int sizeName = nodelistName.Count;
for (int k = 0; k < sizeName; k++)
{
XmlNode node = nodelistName.Item(k);

XmlElement elementNode = (XmlElement)node;
elementNode.AppendChild(document.CreateTextNode(name[k]));




}




// document.Save("/icbc/newxml.xml");//可以保存为XML文件,位置在C:/icbc/newxml.xml
//创建用于保存内容的字符串里
StringBuilder sb = new StringBuilder();
//输出流指向字符串
XmlWriter writer= XmlWriter.Create(sb);
//XML文档把内容写到字符串里
document.WriteContentTo(writer);

writer.Flush();
//让页面中的文本框显示XML文档内容
TextBoxContent.Text=sb.ToString() ;





}




//点击”预览“按钮,转到XML生成HTML的页面
protected void ButtonYuLAN_Click(object sender, EventArgs e)
{
//XmlDocument xml = new XmlDocument();




if (TextBoxContent.Text == null || TextBoxContent.Text == "")
{
Response.Write("");
return;




}
Session["xmlTextBoxContent"] = TextBoxContent.Text;


Response.Write("");

}




//'PreExploerXMLMenu.aspx.CS的内容如下




using System;
using System.Data;
using System.Configuration;
using System.Collections;
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.Xml;
using System.IO;
using System.Text;




public partial class Module_ChannelInfoManage_PreExploerXMLMenu : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//创建XmlDisplay类的实例
XmlDisplay XmlDisplayDemo = new XmlDisplay();
//得到XML内容,申明为字符串用于生成 StringReader
string xmlcontent=(string )Session["xmlTextBoxContent"];

//生成在网页上保留静态文本的位置
Literal LT = new Literal();
LT.Text = XmlDisplayDemo.LoadDocument(new StringReader(xmlcontent));
this.Panel1.Controls.Add(LT);
}




//这个类读入并处理XML文件
public class XmlDisplay




{




public string LoadDocument(StringReader sr)
{
XmlReader xmlReader = null;

StringBuilder html = new StringBuilder();
try
{
//创建XMLTextReader的实例。





xmlReader = XmlReader.Create(sr);
//处理XML文件
html.Append(ProcessXml(xmlReader));
}
catch (XmlException ex)
{
html.Append("发生一个XML异常:" + ex.ToString());
}
catch (Exception ex)
{
html.Append("发生一个普通异常:" + ex.ToString());
}
finally
{
if (xmlReader != null)
xmlReader.Close();
}
return html.ToString();
}




//处理XML数据的方法,用于控制生成HTML文件的格式
private string ProcessXml(XmlReader xmlReader)
{
StringBuilder temp = new StringBuilder();
int i = 1;
temp.Append("

");

//XML读取器找到”NAME“的标记元素
xmlReader.ReadToFollowing("NAME");
do{
if (i == 1) temp.Append("

");
temp.Append("

");




//xml读取器的位置向前移动,指到 文本元素内容
xmlReader.Read();
//读取文本元素内容到字符串中
temp.Append(xmlReader.Value);
temp.Append("

");
//一行显示10列数据
if ((i%10==0)) temp.Append("



");
i++;
} while (xmlReader.ReadToFollowing("NAME"));





temp.Append("



");
return temp.ToString();




}//结束ProcessXML方法
}
}


来源:aaronbai的blog












































添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.