2013-07-31 4 views
0

У меня есть XML-структура, как ниже,перебор тегов, используя XSLT

<NameList> <Name>name01</Name> <Name>name02</Name> <Name>name03</Name> <Name>name04</Name> </NameList>

как перебирается дочерними тегами и отображение списка имен их, используя XSL XSLT: За-каждый? Мой Ouput должен быть как

name01
name02
name03
name04

Благодарности

ответ

0

Я не укомплектовать уверен, что вы хотите, но, может быть, как это?

<xsl:template match="/"> 

    <xsl:for-each select="NameList"> 
     <xsl:value-of select="."/>   
    </xsl:for-each> 
</xsl:template> 

Он тушит

name01 name02 name03 name04 
+0

Thx. Я получил результаты. – Radnerus

1

Там нет реальной необходимости использовать XSL: для каждого-. Вы можете сделать это с помощью сопоставления шаблонов, который обычно является предпочтительным подходом в XSLT.

Вы должны были бы один шаблон, чтобы соответствовать вашему списку имен элемента, в котором вы можете выводи «содержащие» элементы, которые вы хотите, а затем начать выбор дочерних элементов

<xsl:template match="NameList"> 
    <table> 
     <xsl:apply-templates select="Name" /> 
    </table> 
    </xsl:template> 

Тогда вы шаблон на самом деле соответствие Элемент, где вы выводите его в любом формате. Например

<xsl:template match="Name"> 
    <tr> 
     <td> 
     <xsl:value-of select="." /> 
     </td> 
    </tr> 
    </xsl:template> 

Попробуйте XSLT для стартеров:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:template match="NameList"> 
    <table> 
     <xsl:apply-templates select="Name" /> 
    </table> 
    </xsl:template> 
    <xsl:template match="Name"> 
    <tr> 
     <td> 
     <xsl:value-of select="." /> 
     </td> 
    </tr> 
    </xsl:template> 
</xsl:stylesheet> 

Если вы действительно хотели больше помощи с форматированием или выводом элементов, что вам действительно нужно уже говорили об этом в своем вопросе. Благодаря!

Смежные вопросы