<?xml version=1.0 encoding=utf-8 ?> <Paper Title=小寒考试系统 Name=大三历史期末考试 Start Time =2008-1-28 09:00 Time=120 scoreValue=100 score=0> <Student Name=小寒 Id=041124096/> <Questions Title=单选题 scoreValue=20 Count =1 score=0> <DanXuan Id=1 Subject=历史 Chapter=第三章 D if ficulty=1 scoreValue=20 score=0> <Content>诸葛亮姓什么?</Content> <Choices> <Choice Key =1>诸</Choice> <Choice Key=2>诸葛</Choice> <Choice Key=3>诸葛亮</Choice> <Choice Key=4>亮</Choice> </Choices> <Answer>2</Answer> <StudentAnswer></StudentAnswer> </DanXuan> </Questions> <Questions Title=多选题 scoreValue=20 Count=1 score=0> <DuoXuan Id=2 Subject=历史 Chapter=第三章 Difficulty=1 scoreValue=20 score=0> <Content>三国是指那三国?</Content> <Choices> <Choice Key=1>魏国</Choice> <Choice Key=2>吴国</Choice> <Choice Key=3>辽国</Choice> <Choice Key=4>蜀国</Choice> </Choices> <Answer>1,2,4</Answer> <StudentAnswer></StudentAnswer> </DuoXuan> </Questions> <Questions Title=判断题 scoreValue=20 Count=1 score=0> <PanDuan Id=3 Subject=历史 Chapter=第三章 Difficulty=1 scoreValue=20 score=0> <Content>刘备建立了蜀国?</Content> <Choices> <Choice Key=0>0</Choice> <Choice Key=1>1</Choice> </Choices> <Answer>1</Answer> <StudentAnswer></StudentAnswer> </PanDuan> </Questions> <Questions Title=填空题 scoreValue=20 Count=1 score=0> <TianKong Id=4 Subject=历史 Chapter=第三章 Difficulty=1 scoreValue=20 score=0> <Content> <![CDATA[ 三国里的五虎上将是指关羽,$_4.1_$,$_4.2_$,$_4.3_$,赵云。 ]]> </Content> <Answers> <Answer Key=1>张飞</Answer> <Answer Key=2>魏延</Answer> <Answer Key=3>马超</Answer> </Answers> <StudentAnswers> <StudentAnswer Key=1></StudentAnswer> <StudentAnswer Key=2></StudentAnswer> <StudentAnswer Key=3></StudentAnswer> </StudentAnswers> </TianKong> </Questions> <Questions Title= 简答题 scoreValue=20 Count=1 score=0> <JianDa Id=5 Subject=历史 Chapter=第三章 Difficulty=1 scoreValue=20 score=0> <Content>为什么诸葛亮没能统一三国?</Content> <Answer>因为魏国统一了三国。</Answer> <StudentAnswer></StudentAnswer> </JianDa> </Questions> </Paper>
<?xml version=1.0 encoding=UTF-8 ?> <xsl:stylesheet version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Trans for m xmlns:msxsl=urn:schemas-microsoft-com:xslt xmlns:rules=http://www.netguy.cn/xslt exclude-result-prefixes=rules msxsl> <xsl:output method=html/> <msxsl:script implements-prefix=rules lang uage= C# > <![CDATA[ public static string ChangeTextBox(string content) { // Define a regular expression for repeated w ord s. Regex rx = new Regex(@\$_\S\S\S_\$, RegexOptions.Compiled | RegexOptions.IgnoreCase); // Find matches. MatchCollection matches = rx.Matches(content); // Report on each match. foreach (Match match in matches) { string word = match.Value; content=content.Replace(word,<input name=\+word. Substr ing(2,word.Length-4)+\ type=\text\>); } return content; } ]]> </msxsl:script> <xsl:template match=Paper> <html xmlns=http://www.w3.org/1999/xhtml > < head > <title> <xsl:value-of select=@Title/> </title> </head> <body> <p class=Head> <p class=Name><xsl:value-of select=@Name/></p> <p class=Info> 姓名:<xsl:value-of select=Student/@Name/> 学号:<xsl:value-of select=Student/@Id/> 开考时间:<xsl:value-of select=@StartTime/> 时间:<xsl:value-of select=@Time/> 总分:<xsl:value-of select=@scoreValue/> </p> </p> <xsl:apply-templates select=Questions/> </body> </html> </xsl:template> <xsl:template match=Questions> <p class=Title> <xsl:number format=I./> <xsl:value-of select=@Title/> <xsl:text>。(共</xsl:text> <xsl:value-of select=@Count/> <xsl:text>题,</xsl:text> <xsl:value-of select=@scoreValue/> <xsl:text>分)</xsl:text> </p> <xsl:apply-templates select=DanXuan/> <xsl:apply-templates select=DuoXuan/> <xsl:apply-templates select=PanDuan/> <xsl:apply-templates select=TianKong/> <xsl:apply-templates select=JianDa/> </xsl:template> <xsl:template match=DanXuan> <p class=DanXuan> <p class=Content> <xsl:number format=1./> <xsl:value-of select=Content/> </p> <p class=Choices> <ul> <xsl:for-each select=Choices/Choice> <li> <xsl:number format=A./> <input name={http://www.cnblogs.com/@Id} type=radio value={@Key}/> <xsl:value-of select=./> </li> </xsl:for-each> </ul> </p> </p> </xsl:template> <xsl:template match=DuoXuan> <p class=DuoXuan> <p class=Content> <xsl:number format=1./> <xsl:value-of select=Content/> </p> <p class=Choices> <ul> <xsl:for-each select=Choices/Choice> <li> <xsl:number format=A./> <input name={http://www.cnblogs.com/@Id} type=checkBox value={@Key}/> <xsl:value-of select=./> </li> </xsl:for-each> </ul> </p> </p> </xsl:template> <xsl:template match=PanDuan> <p class=PanDuan style= width : 300 px> <p class=Content style= float :left ;width:70%> <xsl:number format=1./> <xsl:value-of select=Content/> </p> <p class=Choices style=float :right ;width:25%> <input name={@Id} type=radio value=1/>Y <input name={@Id} type=radio value=0 />N </p> </p> </xsl:template> <xsl:template match=TianKong> <p class=TianKong> <xsl:number format=1./> <xsl:value-of select=rules:ChangeTextBox(string(Content)) disable-output-esc api ng=yes/> </p> </xsl:template> <xsl:template match=JianDa> <p class=JianDa> <p class=Content> <xsl:number format=1./> <xsl:value-of select=Content/> </p> <p class=Input> <textarea name={@Id} cols=70 rows=8></textarea> </p> </p> </xsl:template> </xsl:stylesheet>
生成html
<html xmlns=http://www.w3.org/1999/xhtml> <head> <title>小寒考试系统</title> </head> <body> <div class=Head> <div class=Name>大三历史期末考试</div> <div class=Info> 姓名:小寒 学号:041124096 开考时间:2008-1-28 09:00 时间:120 总分:100</div> </div> <div class=Title xmlns=>I.单选题。(共1题,20分)</div> <div class=DanXuan xmlns=> <div class=Content>1.诸葛亮姓什么?</div> <div class=Choices> <ul> <li>A.<input name=1 type=radio value=1>诸</li> <li>B.<input name=1 type=radio value=2>诸葛</li> <li>C.<input name=1 type=radio value=3>诸葛亮</li> <li>D.<input name=1 type=radio value=4>亮</li> </ul> </div> </div> <div class=Title xmlns=>II.多选题。(共1题,20分)</div> <div class=DuoXuan xmlns=> <div class=Content>1.三国是指那三国?</div> <div class=Choices> <ul> <li>A.<input name=2 type=checkBox value=1>魏国</li> <li>B.<input name=2 type=checkBox value=2>吴国</li> <li>C.<input name=2 type=checkBox value=3>辽国</li> <li>D.<input name=2 type=checkBox value=4>蜀国</li> </ul> </div> </div> <div class=Title xmlns=>III.判断题。(共1题,20分)</div> <div class=PanDuan style=width:300px xmlns=> <div class=Content style=float:left;width:70%>1.刘备建立了蜀国?</div> <div class=Choices style=float:right;width:25%><input name=3 type=radio value=1>Y <input name=3 type=radio value=0>N </div> </div> <div class=Title xmlns=>IV.填空题。(共1题,20分)</div> <div class=TianKong xmlns=>1. 三国里的五虎上将是指关羽,<input name=4.1 type=text>,<input name=4.2 type=text>,<input name=4.3 type=text>,赵云。 </div> <div class=Title xmlns=>V.简答题。(共1题,20分)</div> <div class=JianDa xmlns=> <div class=Content>1.为什么诸葛亮没能统一三国?</div> <div class=Input><textarea name=5 cols=70 rows=8></textarea></div> </div> </body> </html>