Как выделить текстовую строку из одного элемента XML - PullRequest
2 голосов
/ 07 декабря 2011

Мне нужно выбрать строку из элемента XML Адрес

Вот мой XML-файл

<table>
    <row>
        <address>Greenwich Avenue 20, New York</address>
    </row>
</table>

Вот мой XSLT-файл

<xsl:for-each select="table/row">
<tr>
<td>
<xsl:value-of select="address"/>
</td>
</tr>
</xsl:for-each>

Вот мой желаемый вывод

Greenwich Avenue

Или

New York

Спасибо

1 Ответ

1 голос
/ 07 декабря 2011

Это преобразование показывает, как создать любую из двух строк :

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output method="text"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="address">
     <xsl:value-of select=
      "translate(substring-before(., ','),
                 '01234567890', ''
                 )
      "/>
    =============
     <xsl:value-of select="substring-after(., ',')"/>
 </xsl:template>
</xsl:stylesheet>

при применении к предоставленному документу XML :

<table>
    <row>
        <address>Greenwich Avenue 20, New York</address>
    </row>
</table>

искомые две строки получаются в результате вычисления определенных выражений XPath - затем выведите :

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