我是XSLT/XML和HTML的新手.我有一个XML文件,我目前使用XSLT在c#中转换为HTML.XML文件只代表从数据库中的表中提取的数据.我现在可以非常轻松地使用XSLT将XML文件转换为HTML,而无需太多格式化.打开时的HTML看起来很普通.我打算格式化HTML,即根据XML文档中的某些键值更改字体,背景颜色,字体颜色等.
XML是使用C#代码每天生成的.XML文件的内容完全取决于执行C#代码的那一天中数据库中表的内容.
XML看起来像这样
<?xml version="1.0" standalone="yes"?>
<NewDataSet>
<defects>
<Defectid>56</Defectid>
<testid>111</testid>
<summary>Release of DIT </summary>
<DetectedDate>2011-09-21 </DetectedDate>
<priority>2-Give High Attention</priority>
<status>Ready to Test</status>
<project>Business Intelligence</project>
<assignedTo>peter</assignedTo>
<detectedBy>john</detectedBy>
<severity>3-Average</severity>
</defects>
<defects>
<Defectid>829</Defectid>
<testid>111</testid>
<summary> Data request</summary>
<DetectedDate>2012-01-12 </DetectedDate>
<priority>3-Normal Queue</priority>
<status>Open</status>
<project>web</project>
<assignedTo>tcm</assignedTo>
<detectedBy>john</detectedBy>
<severity>3-Average</severity>
</defects>
<defects>
<Defectid>728</Defectid>
<testid>999</testid>
<summary>Data request</summary>
<DetectedDate>2012-01-11</DetectedDate>
<priority>3-Normal Queue</priority>
<status>Fixed</status>
<project>Business Intelligence</project>
<assignedTo>chris</assignedTo>
<detectedBy>peter</detectedBy>
<severity>3-Average</severity>
</defects>
</NewDataSet>
Run Code Online (Sandbox Code Playgroud)
我打算做的是从这个XML生成HTML表格,它是表格格式,但HTML表格中行的字体颜色应该根据"testid"属性设置.即,对于HTML上的字体颜色,每个"testid"属性应该是唯一的.由于每个testid的行每天都会根据数据库中表中的数据进行更改,因此我不确定如何使用XSLT完成此操作.
当前的XSLT看起来像这样..正如你所看到的,我已经硬编码了字体颜色.
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="/">
<table BORDER="1" CELLPADDING="3" CELLSPACING="2" WIDTH="100">
<tr>
<td …Run Code Online (Sandbox Code Playgroud)