سؤال

لدي بعض 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؟

سابقا لقد عملت مع A: قيمة ولكن هذه سلاسل فقط؟

هل كانت مفيدة؟

المحلول

كنت سأفعل:

<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>

نصائح أخرى

هل هذا شيء مثل هذا ما تريد؟

<?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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top