尝试在div中的ID
元素中获取xml的值。
<xsl:for-each select="tables">
<xsl:for-each select="table">
<xsl:for-each select="@name">
<div id="<xsl:value-of select="."/>">
</div>
</xsl:for-each>
</xsl:for-each>
</xsl:for-each>
我知道这是错的..需要帮助如何正确地做到这一点
输入XML
<?xml-stylesheet type="text/xsl" href="ddlms.xslt"?>
<tables>
<table name="tbl_AccountLedger">
<row>
<Field></Field>
<ColumnName>ledgerId</ColumnName>
<DataType>varchar</DataType>
<Prec tbl="krishna">50</Prec>
<Cons>PK</Cons>
<Ref></Ref>
<Coded></Coded>
<Def></Def>
<Description></Description>
</row>
</table>
</tables>
答案 0 :(得分:3)
将<div id="<xsl:value-of select="."/>">
替换为<div id="{.}">
并观察奇迹的发生。
答案 1 :(得分:1)
试试这个样式表:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="*"/>
<xsl:output method="xml" indent="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="tables">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="table">
<div id="{@name}">
</div>
</xsl:template>
</xsl:stylesheet>
尝试阅读有关属性值模板的内容(http://www.w3.org/TR/xslt#attribute-value-templates)。
答案 2 :(得分:1)
尝试类似:
<xsl:template match="/">
<root>
<xsl:for-each select="tables/table">
<div id="{@name}">
</div>
</xsl:for-each>
</root>
</xsl:template>