xml xsl TO html的问题

qxs2000 2005-09-15 03:56:08
UserData.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="UserData.xsl"?>
<UserInfo>
<Field ID="Name" TabOrder="1">
<FieldValue>me</FieldValue>
</Field>
<Field ID="Age" TabOrder="2">
<FieldValue>100</FieldValue>
</Field>
<Field ID="Native" TabOrder="3">
<FieldValue>ShangHai</FieldValue>
</Field>
</UserInfo>


UserData.xsl
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<script language="javascript">
</script>
<body>
 <form method="post" >
  <h1>Edit UserInfo:</h1>
  <table border="1" cellpadding="2">
  <xsl:for-each select="UserInfo/Field">
  <tr>
   <td>
    <xsl:value-of select="@ID"/>
   </td>
   <td>
   <xsl:element name="input" >
    <xsl:attribute name="ID"><xsl:value-of select="@ID"/></xsl:attribute>
    <xsl:attribute name="type">"hello"</xsl:attribute>
    <xsl:attribute name="value">1</xsl:attribute>
   </xsl:element>
   </td>
  </tr>
  </xsl:for-each>
  </table>
  <br/>
  <INPUT type="button"
value="Button" onclick="Save()" />
<input name="test" type="text" value="1" />
  <input type="submit" id="btnSubmit" name="btnSubmit" value="Edit"/>
 </form>
</body>
</html>
</xsl:template>
</xsl:stylesheet>


转换的HTML
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="javascript">
</script>
<body>
 <form method="post">
  <h1>Edit UserInfo:</h1>
  <table border="1" cellpadding="2">
  
  <tr>
   <td>
    Name
   </td>
   <td>
   <input>
     这里没有内容了?为啥input的ID,name,value没有出来
    
    
   
   </td>
  </tr>
  
  <tr>
   <td>
    Age
   </td>
   <td>
   <input>
     这里没有内容了?为啥
    
    
   
   </td>
  </tr>
  
  <tr>
   <td>
    Native
   </td>
   <td>
   <input>
    
    
    
   
   </td>
  </tr>
  
  </table>
  <br>
  <INPUT type="button" value="Button" onclick="Save()"><input name="test" type="text" value="1">
  <input type="submit" id="btnSubmit" name="btnSubmit" value="Edit">
 </form></body>
</html>
...全文
126 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
singlepine 2005-09-15
  • 打赏
  • 举报
回复
//1.把xml文件读入到dataset中
DataSet dsxml=new DataSet();
dsxml.ReadXml(Request.PhysicalApplicationPath+"Template\\UserData.xml");

//2.构造html最后生成样式,把需要替换的部分做为变量用dataset的值去填充它
如构造如下样式:
private const string trStr=@"<tr title={2} ondblclick=""window.location.href='{0}/UI/Pages/Activity/ActivityDetail.aspx?id={1}&from=1'"">
<td><IMG src='{0}/UI/images/{4}.gif' onclick=""window.location.href='{0}/UI/Pages/Activity/ActivityDetail.aspx?id={1}&from=1'""
style='CURSOR: hand'></td>
<TD>{2}</TD>
<TD>{3}</TD>
<TD>{4}</TD>
<TD>{5}</TD>
</tr>";
//3.传入dataset取得的值,然后传入方法中,替换变量
如下
private string replace(DataRow dr)
{
string id=dr["ActivityBaseID"].ToString();
string type=dr["Type"].ToString();
string subject=(dr["Subject"]==DBNull.Value)?string.Empty :dr["subject"].ToString();
if (subject.Length >40)
{
subject=subject.Substring(0,40)+"...";
}
string date=(dr["EndOn"]==DBNull.Value)?string.Empty :dr["EndOn"].ToString();
string priorty=(dr["Priority"]==DBNull.Value)?string.Empty :dr["Priority"].ToString();
return string.Format(trStr,rootPath,id,subject,priorty,type,date);
}

我没有具体去试你的,我只是拿以前的给你举个例子,大概说一下死了,依照以上步骤,是可以做出来的

62,054

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧