用XML和XSLT生成HTM页面是我一直想做的事情,
毕竟,与其让aspx页面每访问一次就去访问数据库,打开数据连接,关闭数据连接,
还不如将数据存成htm静态页面
在网络上一直找寻这方面的资料,也不是很多,也去MSDN去看类库,一个方法一个方法的看,终于管中窥豹
琢磨出这么一点东西来
需要三个文件:: 一个XML,一个XSL,还有一个aspx程序
Listing8.8.2.xml
<?xml version="1.0" encoding="UTF-8" ?>
步青云
frey
frey
glenn
Listing8.8.1.xsl
<?xml version="1.0" encoding="UTF-8" ?>
http://www.w3.org/1999/XSL/Transform" version="1.0">
我的呢称:
.
最后是aspx程序页面Listing8.8.5.aspx
public sub Page_Load(sender as Object, e as EventArgs)
Dim xmlPath as string = Server.MapPath("Listing8.8.2.xml")
Dim xslPath as string = Server.MapPath("Listing8.8.1.xsl")
Dim htmPath as string = Server.MapPath("Listing8.8.1.htm")
Dim fs as FileStream = new FileStream(xmlPath,FileMode.Open, FileAccess.Read)
Dim reader as StreamReader = new StreamReader(fs,Encoding.UTF8)
Dim xmlReader as XmlTextReader = new XmlTextReader(reader)
Dim fstr as FileStream = new FileStream(htmPath, FileMode.Create)
Dim doc as XPathDocument = new XPathDocument(xmlReader)
Dim xslDoc as XslTransform. = new XslTransform()
xslDoc.Load(xslPath)
'转换数据
xslDoc.Transform(doc,Nothing, fstr, nothing)
xslDoc.Transform(doc,Nothing,Response.Output) ''输出到页面
'关闭打开的对象
fs.Close()
reader.Close()
xmlReader.Close()
fstr.Close()
end sub
毕竟,与其让aspx页面每访问一次就去访问数据库,打开数据连接,关闭数据连接,
还不如将数据存成htm静态页面
在网络上一直找寻这方面的资料,也不是很多,也去MSDN去看类库,一个方法一个方法的看,终于管中窥豹
琢磨出这么一点东西来
需要三个文件:: 一个XML,一个XSL,还有一个aspx程序
Listing8.8.2.xml
<?xml version="1.0" encoding="UTF-8" ?>
步青云
frey
frey
glenn
Listing8.8.1.xsl
<?xml version="1.0" encoding="UTF-8" ?>
http://www.w3.org/1999/XSL/Transform" version="1.0">
我的呢称:
.
最后是aspx程序页面Listing8.8.5.aspx
public sub Page_Load(sender as Object, e as EventArgs)
Dim xmlPath as string = Server.MapPath("Listing8.8.2.xml")
Dim xslPath as string = Server.MapPath("Listing8.8.1.xsl")
Dim htmPath as string = Server.MapPath("Listing8.8.1.htm")
Dim fs as FileStream = new FileStream(xmlPath,FileMode.Open, FileAccess.Read)
Dim reader as StreamReader = new StreamReader(fs,Encoding.UTF8)
Dim xmlReader as XmlTextReader = new XmlTextReader(reader)
Dim fstr as FileStream = new FileStream(htmPath, FileMode.Create)
Dim doc as XPathDocument = new XPathDocument(xmlReader)
Dim xslDoc as XslTransform. = new XslTransform()
xslDoc.Load(xslPath)
'转换数据
xslDoc.Transform(doc,Nothing, fstr, nothing)
xslDoc.Transform(doc,Nothing,Response.Output) ''输出到页面
'关闭打开的对象
fs.Close()
reader.Close()
xmlReader.Close()
fstr.Close()
end sub
C#代码:
Code
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->string xmlPath = Server.MapPath("listing.xml");
string xslPath = Server.MapPath("listing.xsl");
string htmlPath = Server.MapPath("listing.htm");
FileStream fs = new FileStream(xmlPath, FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(fs, Encoding.UTF8);
XmlTextReader xmlReader = new XmlTextReader(reader);
FileStream fstr = new FileStream(htmlPath, FileMode.Create);
XPathDocument xpathDoc = new XPathDocument(xmlReader);
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(xslPath);
transform.Transform(xpathDoc, null, fstr);
//transform.Transform(xpathDoc, null, Response.Output);
fs.Close();
reader.Close();
xmlReader.Close();
fstr.Close();
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->string xmlPath = Server.MapPath("listing.xml");
string xslPath = Server.MapPath("listing.xsl");
string htmlPath = Server.MapPath("listing.htm");
FileStream fs = new FileStream(xmlPath, FileMode.Open, FileAccess.Read);
StreamReader reader = new StreamReader(fs, Encoding.UTF8);
XmlTextReader xmlReader = new XmlTextReader(reader);
FileStream fstr = new FileStream(htmlPath, FileMode.Create);
XPathDocument xpathDoc = new XPathDocument(xmlReader);
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(xslPath);
transform.Transform(xpathDoc, null, fstr);
//transform.Transform(xpathDoc, null, Response.Output);
fs.Close();
reader.Close();
xmlReader.Close();
fstr.Close();
生成的htm文件如下::
Listing8.8.1.htm
我的呢称:
1.
步青云
2.
frey
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12639172/viewspace-598252/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12639172/viewspace-598252/