xml+xsl生成静态html代码谁有?
学习!
谢谢!
问题点数:20、回复次数:35Top
1 楼lizhengqin(学习Asp.net)回复于 2006-05-09 17:52:58 得分 0
upTop
2 楼eqh(我想早恋,可已经晚了...)回复于 2006-05-09 18:05:58 得分 0
csdnTop
3 楼flyzq()回复于 2006-05-09 18:07:47 得分 10
student.xml
<?xml version="1.0" encoding="gb2312" ?>
<?xml-stylesheet type="text/xsl" href="mystyle.xsl"?>
<roster>
学生花名册
<student>
<name>李华</name>
<origin>河北</origin>
<age>15</age>
<telephone>62875555</telephone>
</student>
<student>
<name>张三</name>
<origin>北京</origin>
<age>14</age>
<telephone>82873425</telephone>
</student>
</roster>
mystyle.xsl
<?xml version="1.0" encoding="gb2312" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/REC-html40">
<xsl:template>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>学生花名册</TITLE>
<STYLE> .title{font-size:15pt; font-weight:bold; color:blue } .name{color:red}
</STYLE>
</HEAD>
<BODY>
<P class="title" >学生花名册</P>
<xsl:apply-templates select="roster"/>
</BODY>
</HTML>
</xsl:template>
<xsl:template match="roster">
<TABLE BORDER="1">
<THEAD>
<TD> <B>姓名</B> </TD>
<TD> <B>籍贯</B> </TD>
<TD> <B>年龄</B> </TD>
<TD> <B>电话</B> </TD>
</THEAD>
<xsl:for-each select="student" order-by="name">
<TR>
<TD><B><xsl:value-of select="name"/></B></TD>
<TD><xsl:value-of select="origin"/></TD>
<TD><xsl:value-of select="age"/></TD>
<TD><xsl:value-of select = "telephone"/></TD>
</TR>
</xsl:for-each>
</TABLE>
</xsl:template>
</xsl:stylesheet>
Top
4 楼lizhengqin(学习Asp.net)回复于 2006-05-10 09:26:23 得分 0
只有xml,和xsl文件,怎么没有其它代码?Top
5 楼lubosun(大白菜)回复于 2006-05-10 09:35:15 得分 0
这不就是CSDN用的嘛Top
6 楼lizhengqin(学习Asp.net)回复于 2006-05-10 09:55:52 得分 0
csdn好像没有生成htmlTop
7 楼lgnet(www.51bw.net)回复于 2006-05-10 15:27:10 得分 0
想玩游戏吗?来这里看看吧:Lgnet.org.cn
想宣传你的网站吗,想提供网站的知名度吗,来这里瞧瞧吧:www.51bw.net
Top
8 楼lizhengqin(学习Asp.net)回复于 2006-05-11 15:23:03 得分 0
upTop
9 楼welland(微蓝色)回复于 2006-05-11 15:31:52 得分 2
CSDN这样做的好处是?
对浏览的版本要求高吗?Top
10 楼viena(维也纳N02)回复于 2006-05-11 15:32:06 得分 8
using System.Xml.Xsl;
// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Create the XslTransform object.
XslTransform xslt = new XslTransform();
// Load the stylesheet.
xslt.Load("http://myServer/data/authors.xsl", resolver);
// Transform the file.
xslt.Transform("books.xml", "books.html", resolver);Top
11 楼viena(维也纳N02)回复于 2006-05-11 15:33:55 得分 0
using System.XmlTop
12 楼lizhengqin(学习Asp.net)回复于 2006-05-12 13:34:03 得分 0
我一运行就出错了!
异常详细信息: System.Xml.Xsl.XsltException: 缺少强制属性“version”。
string xmlPath = Server.MapPath("exam3.xml");
string xslPath = Server.MapPath("exam3.xsl");
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Create the XslTransform object.
XslTransform xslt = new XslTransform();
// Load the stylesheet.
xslt.Load(xslPath, resolver);//这行错了
// Transform the file.
//xslt.Transform(xmlPath, "books.html", resolver);
xslt.Transform(xmlPath, "books.html",resolver);Top
13 楼lizhengqin(学习Asp.net)回复于 2006-05-12 13:40:13 得分 0
exam3.xml
<?xml version="1.0" encoding="GB2312"?>
<?xml-stylesheet type="text/xsl" href="exam3.xsl"?>
<档案>
<学生 性别="0">
<姓名>张三</姓名>
<ID>001</ID>
<年龄>22</年龄>
<电话>326545685</电话>
</学生>
<学生 性别="1">
<姓名>李四</姓名>
<ID>002</ID>
<年龄>21</年龄>
<电话>32654585</电话>
</学生>
</档案>
exam3.xsl
<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template><xsl:apply-templates/></xsl:template>
<xsl:template match="档案">
<html>
<head>
<title>学生档案示范</title>
</head>
<body>
<table border="1" algin="center" title="这是一个学生">
<caption>学生档案示范</caption>
<tr bgcolor="yellow">
<th>姓名</th>
<th>学号</th>
<th>年龄</th>
<th>联系电话</th>
</tr>
<xsl:for-each select="学生">
<tr>
<td height="20"><xsl:value-of select="姓名"/> </td>
<td><xsl:value-of select="ID"/> </td>
<td><xsl:value-of select="年龄"/> </td>
<td><xsl:value-of select="电话"/> </td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>Top
14 楼sunzhong2003()回复于 2006-05-12 13:42:36 得分 0
dreamweaver 8.0有转换的功能Top
15 楼lizhengqin(学习Asp.net)回复于 2006-05-12 15:15:10 得分 0
没人知道吗Top
16 楼ericfine(埃里克)回复于 2006-05-12 15:56:13 得分 0
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
var xslDoc = new ActiveXObject("Msxml2.DOMDocument");
xmlDoc.async = false;
xslDoc.async = false;
xmlDoc.load("tree.xml");
xslDoc.load("treeview_client.xsl");
var xhtmlDoc = xmlDoc.transformNode(xslDoc);
alert(xhtmlDoc);
用JS就行了
Top
17 楼lizhengqin(学习Asp.net)回复于 2006-05-15 14:36:18 得分 0
我不想用js!Top
18 楼liucan(曼曼)回复于 2006-05-15 14:51:21 得分 0
学习下Top
19 楼lizhengqin(学习Asp.net)回复于 2006-05-16 11:55:01 得分 0
upTop
20 楼nayc(不是牛太老,而是草太嫩)回复于 2006-05-16 12:52:32 得分 0
收藏学习Top
21 楼lizhengqin(学习Asp.net)回复于 2006-05-19 16:02:53 得分 0
upTop
22 楼lizhengqin(学习Asp.net)回复于 2006-05-29 14:56:18 得分 0
upTop
23 楼salsfy(混呛斯)回复于 2006-05-30 21:51:06 得分 0
<html>
<body>
<h2>用户信息</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">工号</th>
<th align="left">用户名</th>
<th align="left">密码</th>
<th align="left">权限</th>
<th align="left">单位</th>
<th align="left">部门</th>
</tr>
<xsl:for-each select="NewDataSet/user_info">
<tr>
<td><xsl:value-of select="work_no"/></td>
<td><xsl:value-of select="user_name"/></td>
<td><xsl:value-of select="user_pwd"/></td>
<td><xsl:choose>
<xsl:when test="grade=0">普通用户</xsl:when>
<xsl:when test="grade=1">超级用户</xsl:when>
</xsl:choose>
</td>
<td><xsl:value-of select="unit_id"/></td>
<td><xsl:value-of select="depart_id"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<userGroup>
<id>11</id>
<userGroup>设备部 </userGroup>
<code> </code>
</userGroup>
<userGroup>
<id>12</id>
<userGroup>计量室 </userGroup>
<code> </code>
</userGroup>
<userGroup>
<id>13</id>
<userGroup>采购处 </userGroup>
<code> </code>
</userGroup>
<user_info>
<id>29</id>
<work_no>001 </work_no>
<user_name>用户1 </user_name>
<user_pwd>1 </user_pwd>
<grade>0</grade>
<unit_id>7</unit_id>
<depart_id>11</depart_id>
<user_group_id>12</user_group_id>
<id1>12</id1>
<userGroup>计量室 </userGroup>
<code> </code>
</user_info>
<user_info>
<id>31</id>
<work_no>006 </work_no>
<user_name>用户6 </user_name>
<user_pwd>1 </user_pwd>
<grade>0</grade>
<unit_id>8</unit_id>
<depart_id>14</depart_id>
<user_group_id>12</user_group_id>
<id1>12</id1>
<userGroup>计量室 </userGroup>
<code> </code>
</user_info>
</NewDataSet>
XmlDataDocument xmlDoc = new XmlDataDocument(dst);
// xmlDoc.LoadXml("e:\\xml\\data.xml");
XslTransform xslTran = new XslTransform();
xslTran.Load("e:\\xml\\data.xsl");
XmlTextWriter writer = new XmlTextWriter("e:\\xml\\data.html",System.Text.Encoding.UTF8);
Top
24 楼lizhengqin(学习Asp.net)回复于 2006-05-31 09:46:47 得分 0
XmlDataDocument xmlDoc = new XmlDataDocument(dst);
这儿的dst是什么?Top
25 楼lizhengqin(学习Asp.net)回复于 2006-08-28 16:12:51 得分 0
upTop
26 楼lizhengqin(学习Asp.net)回复于 2006-08-30 23:20:09 得分 0
顶Top
27 楼coyprightbao(Mr'Bao)回复于 2006-08-30 23:36:27 得分 0
强烈需要知道这方面的东西,那位高手详细点呀!!Top
28 楼xhzxlqt(人这一辈子)回复于 2006-08-30 23:50:51 得分 0
努力学习ing……Top
29 楼lizhengqin(学习Asp.net)回复于 2006-09-04 10:39:47 得分 0
顶Top
30 楼wwwxyzlnet(香月朱鹭)回复于 2006-10-29 02:37:18 得分 0
mark
Top
31 楼wengjinbao(海浪)回复于 2006-10-29 11:24:37 得分 0
顶Top
32 楼lzwlfw()回复于 2006-10-29 15:12:13 得分 0
XmlDocument xml=new XmlDocument();
xml.load(....);
XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.CloseOutput = false;
StringBuilder sb = new StringBuilder();
TextWriter tw = new StringWriter(sb);
XmlWriter xw = XmlWriter.Create(tw, settings);
XslCompiledTransform xst = new XslCompiledTransform();
xst.Load(HttpContext.Current.Server.MapPath(....xsl));
xst.Transform(xml, xw);
return sb.ToString();Top
33 楼winner2050(winner)回复于 2006-10-29 15:58:43 得分 0
这种方式都过时。Top
34 楼dotnet_boy(男人本涩)回复于 2006-10-29 16:13:36 得分 0
学习Top
35 楼iuhxq(小灰)回复于 2006-10-29 16:22:33 得分 0
关注Top




