我有下面的XML,我试着将它转换成XSL,然后使用Java,将其转换为HTML,因此,该报告是用户友好,易于阅读。我做错了我的xsl转换 - 当我生成的HTML,它只包含标题。转换XML到XSL,然后到HTML
编辑:输出im期待是一个结果表。结果的表格格式。 例如: 测试套件:命名 时间取:0.0 故障:3
测试用例名:TEST2 制出:FOO酒吧
等
THIS IS MY XML:
<?xml version="1.0" encoding="UTF-8"?>
<testsuites disabled="0" errors="0" failures="0" name="HealthCheck" tests="3" time="0.0"><testsuite tests="3" disabled="0" errors="0" failures="0" time="19.167" id="0" name="Scenario"><testcase classname="Test" name="test-0000001" time="0.441"><system-out>Overall status:SUCCESSFUL
</system-out><system-err></system-err></testcase><testcase classname="sheep" name="Check Responses-0000002" time="18.11"><system-out>
Overall status:SUCCESSFUL
</system-out><system-err></system-err></testcase><testcase classname="dog" name="cat-0000003" time="0.032"><system-out>
Overall status:SUCCESSFUL
</system-out><system-err></system-err></testcase></testsuite></testsuites>
这是我的XSL:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/*">
<html>
<head><title>Real's HowTo</title></head>
<body>
<table border="1">
<tr>
<th>disabled</th>
<th>errors</th>
<th>failures</th>
<th>name</th>
<th>tests</th>
<th>time</th>
</tr>
<xsl:for-each select="*">
<tr>
<td><xsl:value-of select="testsuites[@disabled='disabled']"/></td>
<td><xsl:value-of select="testsuites[@errors='errors']"/></td>
<td><xsl:value-of select="testsuites[@failures='failures']"/></td>
<td><xsl:value-of select="testsuites[@name='name']"/></td>
<td><xsl:value-of select="testsuites[@tests='tests']"/></td>
<td><xsl:value-of select="testsuites[@time='time']"/></td>
</tr>
</xsl:for-each>
</table>
</body></html>
</xsl:template>
</xsl:stylesheet>
可选的Java代码:
public static void main(String[] args) {
try {
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer =
tFactory.newTransformer
(new javax.xml.transform.stream.StreamSource
("howto.xsl"));
transformer.transform
(new javax.xml.transform.stream.StreamSource
("howto.xml"),
new javax.xml.transform.stream.StreamResult
(new FileOutputStream("howto.html")));
}
catch (Exception e) {
e.printStackTrace();
}
}
}
我在HTML输出只显示标题。而不是行值。 林不知道如果我去这个正确的方式 - 我在这里粘贴的XML,我想转换成HTML报告看起来不错,易于阅读。
任何帮助,将不胜感激。
您能编辑您的问题以包含您期望从输入中获得的输出吗?谢谢! –
编辑,谢谢。 – JavaPotter