`
- 浏览:
1022172 次
- 性别:
- 来自:
北京
-
ASP.NET中动态生成Xml格式文档,并转换为HTML文件
- 程序实现功能:
- 1.读取数据,点解“获取”按钮动态生成XML格式的文档,并把生成的文档放在TEXTBOX或者生成一个XML文件。
- 2.点击“浏览”按钮,把获取到的XML格式文档,转换成HTML,在浏览器中显示。
-
首先在ASPX对应的CS文件中引入usingSystem.Xml;
-
intm=0;intloop=0;
-
-
privateintinitData(string[]parent,string[]guid,string[]path,string[]name,ChannelCollectioncc,intdepth)
- {
-
foreach(Channelchannelincc)
- {
- 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<depth)
- {
- ChannelCollectionc=channel.Channels;
- ++loop;
- initData(parent,guid,path,name,c,depth);
- }
- }
-
returnm;
- }
-
-
protectedvoidButtonGetXml_Click(objectsender,EventArgse)
- {
- ChannelCollectioncc=selectedChannel.Channels;
-
string[]parent=newstring[1000];
-
string[]guid=newstring[1000];
-
string[]path=newstring[1000];
-
string[]style=newstring[1000];
-
string[]name=newstring[1000];
-
inti=0;
-
intdepth=int.Parse(DropDownListGetDepth.SelectedValue);
-
- i=initData(parent,guid,path,name,cc,depth);
-
-
document=newXmlDocument();
-
-
XmlElementchannelsElement=document.CreateElement("Channels");
- document.AppendChild(channelsElement);
-
for(intk=1;k<=i;k++)
- {
-
channelsElement.AppendChild(document.CreateElement("CHANNEL"));
- }
-
-
XmlNodeListnodelist=document.GetElementsByTagName("CHANNEL");
-
intsize=nodelist.Count;
-
for(intk=0;k<size;k++)
- {
- XmlNodenode=nodelist.Item(k);
- XmlElementelementNode=(XmlElement)node;
-
-
elementNode.AppendChild(document.CreateElement("PARENT"));
-
elementNode.AppendChild(document.CreateElement("GUID"));
-
elementNode.AppendChild(document.CreateElement("PATH"));
-
elementNode.AppendChild(document.CreateElement("NAME"));
- }
-
XmlNodeListnodelistParent=document.GetElementsByTagName("PARENT");
-
intsizeParent=nodelistParent.Count;
-
for(intk=0;k<sizeParent;k++)
- {
- XmlNodenode=nodelistParent.Item(k);
- XmlElementelementNode=(XmlElement)node;
-
- elementNode.AppendChild(document.CreateTextNode(parent[k]));
- }
-
XmlNodeListnodelistGuid=document.GetElementsByTagName("GUID");
-
intsizeGuid=nodelistGuid.Count;
-
for(intk=0;k<sizeGuid;k++)
- {
- XmlNodenode=nodelistGuid.Item(k);
- XmlElementelementNode=(XmlElement)node;
- elementNode.AppendChild(document.CreateTextNode(guid[k]));
- }
-
XmlNodeListnodelistPath=document.GetElementsByTagName("PATH");
-
intsizePath=nodelistPath.Count;
-
for(intk=0;k<sizePath;k++)
- {
- XmlNodenode=nodelistPath.Item(k);
- XmlElementelementNode=(XmlElement)node;
- elementNode.AppendChild(document.CreateTextNode(path[k]));
- }
-
XmlNodeListnodelistName=document.GetElementsByTagName("NAME");
-
intsizeName=nodelistName.Count;
-
for(intk=0;k<sizeName;k++)
- {
- XmlNodenode=nodelistName.Item(k);
- XmlElementelementNode=(XmlElement)node;
- elementNode.AppendChild(document.CreateTextNode(name[k]));
- }
-
-
-
StringBuildersb=newStringBuilder();
-
- XmlWriterwriter=XmlWriter.Create(sb);
-
- document.WriteContentTo(writer);
- writer.Flush();
-
- TextBoxContent.Text=sb.ToString();
- }
-
-
protectedvoidButtonYuLAN_Click(objectsender,EventArgse)
- {
-
-
if(TextBoxContent.Text==null||TextBoxContent.Text=="")
- {
-
Response.Write("<script>alert('请先点击获取内容');</script>");
-
return;
- }
-
Session["xmlTextBoxContent"]=TextBoxContent.Text;
-
Response.Write("<script>window.open('PreExploerXMLMenu.aspx')</script>");
- }
-
-
usingSystem;
-
usingSystem.Data;
-
usingSystem.Configuration;
-
usingSystem.Collections;
-
usingSystem.Web;
-
usingSystem.Web.Security;
-
usingSystem.Web.UI;
-
usingSystem.Web.UI.WebControls;
-
usingSystem.Web.UI.WebControls.WebParts;
-
usingSystem.Web.UI.HtmlControls;
-
usingSystem.Xml;
-
usingSystem.IO;
-
usingSystem.Text;
-
publicpartialclassModule_ChannelInfoManage_PreExploerXMLMenu:System.Web.UI.Page
- {
-
protectedvoidPage_Load(objectsender,EventArgse)
- {
-
-
XmlDisplayXmlDisplayDemo=newXmlDisplay();
-
-
stringxmlcontent=(string)Session["xmlTextBoxContent"];
-
-
LiteralLT=newLiteral();
-
LT.Text=XmlDisplayDemo.LoadDocument(newStringReader(xmlcontent));
-
this.Panel1.Controls.Add(LT);
- }
-
-
publicclassXmlDisplay
- {
-
publicstringLoadDocument(StringReadersr)
- {
-
XmlReaderxmlReader=null;
-
StringBuilderhtml=newStringBuilder();
-
try
- {
-
- xmlReader=XmlReader.Create(sr);
-
- html.Append(ProcessXml(xmlReader));
- }
-
catch(XmlExceptionex)
- {
-
html.Append("发生一个XML异常:"+ex.ToString());
- }
-
catch(Exceptionex)
- {
-
html.Append("发生一个普通异常:"+ex.ToString());
- }
-
finally
- {
-
if(xmlReader!=null)
- xmlReader.Close();
- }
-
returnhtml.ToString();
- }
-
-
privatestringProcessXml(XmlReaderxmlReader)
- {
-
StringBuildertemp=newStringBuilder();
-
inti=1;
-
temp.Append("<tableborder=1>");
-
-
xmlReader.ReadToFollowing("NAME");
-
do{
-
if(i==1)temp.Append("<tr>");
-
temp.Append("<td>");
-
- xmlReader.Read();
-
- temp.Append(xmlReader.Value);
-
temp.Append("</td>");
-
-
if((i%10==0))temp.Append("</tr><tr>");
- i++;
-
}while(xmlReader.ReadToFollowing("NAME"));
-
temp.Append("</tr></table>");
-
returntemp.ToString();
-
}
- }
- }
- 来源:aaronbai的blog
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Asp.Net(C#)利用XPath解析XML文档示例 XSL .Net框架下的XSLT转换技术简介 一个XSLT的简单例子 XSLXSLT板主题整理 xsl入门的好文章 新手学习XSL的好东西 XSL语法介绍 XSL学习心得 - 调用属性值 XSLT与XML转换的详细...
ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的...
《ASP.NET 4高级程序设计(第4版)》是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书...
14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 XmlSerializer串行化类 14.3.2 ...
第 14 章 ASP.NET XML 和Web Service 14.1 XML 简介 14.2 读写XML 14.2.1 XML 与HTML 14.2.2 创建XML 文档 14.2.3 XML 控件 14.2.4 XML 文件读取类(XmlTextReader) 14.2.5 XML 文件编写类(XmlTextWriter) 14.2.6...
14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 XmlSerializer串行化类 14.3.2 ...
14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 XmlSerializer串行化类 14.3.2 ...
14.2.2 创建XML文档 14.2.3 XML控件 14.2.4 XML文件读取类(XmlTextReader) 14.2.5 XML文件编写类(XmlTextWriter) 14.2.6 XML文本文档类(XmlDocument) 14.3 XML串行化 14.3.1 XmlSerializer串行化类 14.3.2 ...
15.2.2 如何在ASP.NET 3.5中调用Alexa的数据 170 15.3 自定义统计模块 171 15.3.1 设计保存IP数据的数据库 171 15.3.2 设计显示IP信息的界面 173 15.3.3 显示最近访问站点的10个IP信息 174 15.3.4 实现IP...
Spire.XLS for .NET 还允许开发人员将Excel文件转换成PDF, HTML, CSV, Text, XML以及图片格式。 注:下载包含有Spire.xls.dll文件以及部分Demo, 你可以调用DLL并参照Demo提供的代码处理Excel文档。
在ASP.Net课程的一开始,不是直接教学员怎么拖ASP.Net控件进行快速开发,而是通过ashx的模式开发原始的动态网站,让学员明白“请求—处理—响应模型”、“Http协议、Http无状态”、“c#代码渲染生成浏览器端...
1.6.1 如何创建ASP.NET项目 58 1.6.2 如何创建Windows项目 61 1.6.3 Visual Studio.NET 2008 操作与使用技巧 61 1.6.4 常见开发调试技巧 66 1.6.5 错误异常处理方法 70 本章常见技术面试题 76 常见面试技巧之面试...
SQL2000SampleDb.msi SQL Server2000的示例数据库 ReportSample 一个报表应用范例 <br>第19章(\C19) 示例描述:本章示例展现PDF的应用以及在.NET 2.0中的格式转换 PDFTool 创建PDF文档的...
23、WORD文档上传自动转为HTML格式,并过滤到冗余代码并上传图片。 24、RSS支持,可以根据每个栏目提供最新RSS输出。 25、自定义字段支持,可以为文章系统扩展定义字段。 26、自定义模型功能 27、集成DiscuzNt...
1.6.1 如何创建ASP.NET项目 58 1.6.2 如何创建Windows项目 61 1.6.3 Visual Studio.NET 2008 操作与使用技巧 61 1.6.4 常见开发调试技巧 66 1.6.5 错误异常处理方法 70 本章常见技术面试题 76 常见面试技巧之面试...