powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Преобразовать XML, как правильно получить нужный формат?
2 сообщений из 2, страница 1 из 1
Преобразовать XML, как правильно получить нужный формат?
    #39185285
abugar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Потребовалось тут преобразовать файл формата XML, не могу сообразить как сделать, подскажите?

Входной файл (пример):
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<ROOT>
 <subroot>
    <nodeone id="n1"></nodeone>
    <nodeone id="n2"></nodeone>
    <nodeone id="n3"></nodeone>
    <nodeone id="n4"></nodeone>
    <eachNodeParam param="p1"/>
    <eachNodeParam param="p2"/>
    <eachNodeParam param="p3"/>
 </subroot>
</ROOT>


Количество узлов nodeone, eachNodeParam - не равно и неопределено, т.е. может отличаться в каждом subroot.

На выходе нужно получить:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
n1,p1
n1,p2
n1,p3
n2,p1
n2,p2
n2,p3
n3,p1
n3,p2
n3,p3
n4,p1
n4,p2
n4,p3



Спасибо.
...
Рейтинг: 0 / 0
Преобразовать XML, как правильно получить нужный формат?
    #39185315
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<xsl:template match="subroot">
  <xsl:apply-templates select="nodeone"/>
</xsl:template>

<xsl:template match="nodeone">
  <xsl:apply-templates select="../eachNodeParam">
    <xsl:with-param name="prfx" select="current()/@id"/>
  </xsl:apply-templates>
</xsl:template>

<xsl:template match="eachNodeParam">
    <xsl:with-param name="prfx"/>
    <xsl:value-of select="concat($prfx, ', ', @param)"/>
</xsl:template>
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Преобразовать XML, как правильно получить нужный формат?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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