XSLT Newbie и XML Array - PullRequest
       9

XSLT Newbie и XML Array

1 голос
/ 20 августа 2009

У меня есть очень простой XML:

<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>One</string>
<string>Two</string>
</ArrayOfString>

Как мне перевести это на:

<ul>
 <li>One</li>
 <li>Two</li>
</ul>

Использование XSLT?

Ранее я работал с: value, но это просто строки?

Ответы [ 2 ]

2 голосов
/ 20 августа 2009

Я бы сделал:

<xsl:stylesheet 
  version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  
>
  <xsl:template match="ArrayOfString">
    <ul>
      <xsl:apply-templates select="string" />
    </ul>
  </xsl:template>

  <xsl:template match="string">
    <li>
      <xsl:value-of select="." />
    </li>
  </xsl:template>
</xsl:stylesheet>
1 голос
/ 20 августа 2009

Это то, что вы хотите?

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
    <ul>
    <xsl:apply-templates />
    </ul>
</xsl:template>
<xsl:template match="string">
    <li><xsl:value-of select="text()"></xsl:value-of></li>
</xsl:template>
</xsl:stylesheet>

Это производит для меня следующий вывод:

<?xml version='1.0' ?>
<ul>
<li>One</li>
<li>Two</li>
</ul>
...