Xml 用于多子结构的XSLT
我正在使用XSLT将XML转换为HTML 这是我的运行代码Xml 用于多子结构的XSLT,xml,xslt,Xml,Xslt,我正在使用XSLT将XML转换为HTML 这是我的运行代码 <?xml version="1.0" encoding="UTF-8"?> <product> <auto> <admin> <date>2015</date> <age>28</age> <level
<?xml version="1.0" encoding="UTF-8"?>
<product>
<auto>
<admin>
<date>2015</date>
<age>28</age>
<level>3</level>
<subject>
<id>1</id>
</subject>
</admin>
<report>
<Fname>John</Fname>
<Lname>AA</Lname>
<subject>
<id>1</id>
</subject>
</report>
</auto>
<auto>
<admin>
<date>02/02/2015</date>
<age>29</age>
<level>2</level>
<subject>
<id>1</id>
</subject>
</admin>
<report>
<Fname>Jack</Fname>
<Lname>BB</Lname>
</report>
</auto>
</product>
点击约翰之后
点击管理员
但主题是一个链接,我想在点击它时将id显示为一个子元素,如下所示
添加日期、年龄、级别、id、州和国家的模板。 然后将模板应用于admin和report的子级,而不是值 “添加模板”是指(未测试,可能有“输入错误”):
为每个元素添加类似的模板(实际上,您可以使用一个通用模板,可以使用元素名称,但在我的回答中尽量保持简单)
然后是管理模板:
<xsl:template match="admin">
<ul style="display:none;">
<li>
<xsl:text>Admin: </xsl:text>
<xsl:apply-templates select='*'/>
<br/>
</li>
</ul>
</xsl:template>
-
管理员:
对报告模板也做同样的操作。感谢您回答Eric,我确实尝试了按照您的建议添加,但它提供了相同的数据。请看一下所做的更改,并告诉我哪里做错了。这是我在XSLT中的第一次任务,因此需要您的帮助。我想问题在于输出的HTML。你想要什么作为html输出?是的,我想要一个html输出。请帮助我请参考我最新的xml和xslt。。我能够获得一个更多的层,但它是失败的主题标签。
John
Jack
John
. Admin:
Jack
John
. Admin:
. Date: 2015
. Age: 28
. Level: 3
. Subject:
Jack
John
. Admin:
. Date: 2015
. Age: 28
. Level: 3
. Subject:
.Id: 1
Jack
<xsl:template match="date">
<li><xsl:value-of select="concat('Date : ',.)"/></li>
</xsl:template>
<xsl:template match="admin">
<ul style="display:none;">
<li>
<xsl:text>Admin: </xsl:text>
<xsl:apply-templates select='*'/>
<br/>
</li>
</ul>
</xsl:template>