powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Получить единственное значение из XML при помощи XSLT
3 сообщений из 3, страница 1 из 1
Получить единственное значение из XML при помощи XSLT
    #36845073
Topcat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня есть XML такого вида:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<s>
  <a n="GeneralInfo">
     <s="User">
       <c n="Address">
         <a n="street">Udachnaya ul.</a>
       </c>
       <a n="FirstName">Nikolay</a>
       <a n="SecondName">Petrovich</a>
       <a n="Surname">Ivanov</a>
     </s>
     <s="User">
       <c n="Address">
         <a n="street">Udachnaya ul.</a>
       </c>
       <a n="FirstName">Nikolay</a>
       <a n="SecondName">Petrovich</a>
       <a n="Surname">Ivanov</a>
     </s>
     <s="User">
       <c n="Address">
         <a n="street">Udachnaya ul.</a>
       </c>
       <a n="FirstName">Nikolay</a>
       <a n="SecondName">Petrovich</a>
       <a n="Surname">Ivanov</a>
     </s>
  </a>
</s>

и мне нужно получить единственное значение - фамилию Ivanov из первого блока.

Я пишу такой файл:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/s/a/s/a">
<xsl:if test="@n = 'Surname'">

<table border="1" cellpadding="5" cellspacing="3">
<tr>
<td><xsl:value-of select="@n"/></td><td>-<xsl:value-of select="."/> </td>
</tr>
</table>

</xsl:if>
</xsl:template>
 </xsl:stylesheet>
но он выдает циклами таблицы со всеми Ивановыми, плюс еще сверху впихивает улицу. Как мне получить просто фамилию (зная, что она повторяется)? Нужна помощь! Заранее спасибо!
...
Рейтинг: 0 / 0
Получить единственное значение из XML при помощи XSLT
    #36845186
Andry Trushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Topcat,

Код: plaintext
1.
2.
3.
4.
5.
6.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
   <xsl:value-of select="/s/a/s[position()=1]/a[@n='Surname']/text()" />
</xsl:template>
 </xsl:stylesheet>
...
Рейтинг: 0 / 0
Получить единственное значение из XML при помощи XSLT
    #36845300
Topcat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andry Trushin,

Огромное человеческое спасибо! Вы мне очень помогли!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Получить единственное значение из XML при помощи XSLT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]