использовать xsl для преобразования строки xml - PullRequest
0 голосов
/ 19 июля 2011

У меня есть строка, которая выглядит следующим образом "<root><1>1</1><2>2</2></root>" Как бы я мог использовать <xsl:for-each select="root/1">?

1 Ответ

0 голосов
/ 19 июля 2011

Итак, основываясь на вашем комментарии, позвольте мне предложить этот XML:

<?xml version="1.0" encoding="UTF-8"?>
<carLot>
    <car type="Ford">2011 Mustang</car>
    <car type="Honda">2010 Civic</car>
    <truck type="Ford">2007 F150</truck>
    <car type="Ford">2010 Focus</car>
    <car type="Toyota">2001 Camry</car>
</carLot>

Предположим, вы хотите сопоставить только автомобильные элементы типа "Ford", а затем отобразить вывод в виде HTML. Попробуйте это:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0"> 
    <xsl:output method="html" indent="yes"/>
    <xsl:template match="/">
        <xsl:element name="html">
            <xsl:element name="body">
                <xsl:element name="h1">My Favorite Cars</xsl:element>
                <xsl:element name="p">
                    <xsl:text>These are the Ford cars I found on the car lot:</xsl:text>
                </xsl:element>
                <xsl:element name="ul">
                    <xsl:for-each select="carLot/car[@type='Ford']">
                        <xsl:element name="li">
                            <xsl:value-of select="."/>
                        </xsl:element>
                    </xsl:for-each>
                </xsl:element>
            </xsl:element>
        </xsl:element>
    </xsl:template>
</xsl:stylesheet>

Итоговый HTML (по общему признанию, неполный) выглядит так:

<html>
   <body>
      <h1>My Favorite Cars</h1>
      <p>These are the Ford cars I found on the car lot:</p>
      <ul>
         <li>2011 Mustang</li>
         <li>2010 Focus</li>
      </ul>
   </body>
</html>

Как это?

(протестировано с кислородом 12 на Win 7)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...