powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Помогите создать перобразование
5 сообщений из 5, страница 1 из 1
Помогите создать перобразование
    #35679822
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть исходный xml
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<x:root xmlns:x="nsx" xmlns:a="nsa">
<x:a>
<x:b/>
<x:c> 123456 </x:c>
<a:root>
<x:b/>
<x:c/>
<a:a>
<x:d>
<x:c> 214124124 </x:c>
<a:b><x:c> 214124124 </x:c></a:b>
</x:d>
</a:a>
</a:root>
</x:a>
</x:root>

нужно вычипить xml состоящий только из тегов c префиксом 'a' и текста содержащегося внутри тегов, кот. находятся внутри а
т.е. результируюший xml должен быть такой
Код: plaintext
1.
2.
3.
4.
5.
<a:root xmlns:a="nsa">
<a:a>
<a:b> 214124124 </a:b>
</a:a>
</a:root>
...
Рейтинг: 0 / 0
Помогите создать перобразование
    #35680754
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
namespace-uri()

С уважением, Vasilisk
...
Рейтинг: 0 / 0
Помогите создать перобразование
    #35681640
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо уже решил,
кому интересно решение могу выложить
...
Рейтинг: 0 / 0
Помогите создать перобразование
    #35682076
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
странно… почему это 214124124 в a:b содержится, а в a:a не содержится?
...
Рейтинг: 0 / 0
Помогите создать перобразование
    #36150496
indrikis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pation,
Подскажи плиз решение.
Сейчас задача выдрать из хмл только ноды с нужным namespace.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:myns="http://eee.com/myns"
    >
  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="/|@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template  match="*[namespace-uri() != 'http://eee.com/myns']" />

</xsl:stylesheet>
Не прокатывает, хотя если заменить на равно последний шаблон получаю хмл без наймспейсных тегов. А надо как раз наоборот.

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


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