我正在转换以下xml但它的空白。
我希望将测试用例添加到正文并使其成为h1。我很困惑。
<?xml version="1.0" encoding="UTF-8"?>
<testsuite errors="1" failures="0" name="TestDemo-20150928232552" tests="1" time="11.405">
<properties/>
<system-out>
<![CDATA[]]> </system-out>
<system-err>
<![CDATA[]]> </system-err>
<testcase classname="TestDemo" name="test_contactForm" time="11.405">
<error message="Message: Unable to find element with xpath '//select[@name='tosh']/option[@value='26 - 50']'
Screenshot: available via screen
" type="NoSuchElementException">
<![CDATA[Traceback (most recent call last):
NoSuchElementException: Message: Unable to find element with xpath '//select[@name='tosh']/option[@value='26 - 50']'
]]> </error>
</testcase>
</testsuite>
请帮助。任何提示或建议都非常感谢。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head>
<title>
<xsl:value-of select="testcase"/>
</title>
</head>
<body>
<xsl:apply-templates select="body"/>
</body>
</html>
</xsl:template>
<xsl:template match="testcase">
<h1><xsl:value-of select="."/></h1>
</xsl:template>
<xsl:template match="error">
<p><xsl:apply-templates/></p>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:2)
这部分:
<title>
<xsl:value-of select="testcase"/>
</title>
返回一个空的title
元素,因为您位于/
根节点的上下文中,testcase
不是/
根节点的子节点。你需要这样做:
<title>
<xsl:value-of select="testsuite/testcase"/>
</title>
如果您希望title
包含testcase
的所有文字内容(不知何故,我怀疑您真的想要那样)。
这部分:
<xsl:apply-templates select="body"/>
没有做任何事情,因为XML中的任何地方都没有body
元素。应该只是:
<xsl:apply-templates/>
此模板不执行任何操作,因为它永远不会应用:
<xsl:template match="error">
<p><xsl:apply-templates/></p>
</xsl:template>