سؤال
لدي بعض 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>
لا تنتمي إلى StackOverflow