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

Есть XML типа:
<root>
<one>1</one>
<two>2</two>
<three>3</three>
<four>4</four>
<five>5</five>
</root>

Нужно получить :
<root>
<one>1</one>
<two>
<three>3</three>
<four>4</four>
</two>
<five>5</five>
</root>

Только начал разбираться с XSLT и пока нет никаких идей как это можно сделать используя XSLT.
Просьба помочь.
...
Рейтинг: 0 / 0
XML2XML using XSLT
    #38326220
mhx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mhx
Гость
Из первого кода совсем неочевидно, как получить второй. По каким критериям узлы three & four стали потомками узла two?
...
Рейтинг: 0 / 0
XML2XML using XSLT
    #38326572
Visun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mhx,

да, неочевидно, а захардкодить это как-то можно? Просто идет так сказать plain XML. Ну чтобы понятней:

<root>
<name>Иванов Иван Иванович</name>
<address>Адрес</address>
<street>Строителей</street>
<building>12</building>
<info>Дополнительная информация</info>
</root>

необходимо получить:
<root>
<name>Иванов Иван Иванович</name>
<address>
<street>Строителей</street>
<building>12</building>
</address>
<info>Дополнительная информация</info>
</root>
...
Рейтинг: 0 / 0
XML2XML using XSLT
    #38326667
mhx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mhx
Гость
Тогда вот, к примеру, вариант
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="UTF-8" />
    <xsl:strip-space elements="*" />
    <xsl:template match="*">
        <xsl:copy>
            <xsl:apply-templates />
        </xsl:copy>
    </xsl:template>
    
    <xsl:template match="address">
        <address>
            <xsl:copy-of select="../street" />
            <xsl:copy-of select="../building" />
        </address>
    </xsl:template>
    
    <xsl:template match="street|building"></xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
XML2XML using XSLT
    #38326697
Visun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mhx ,

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


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