powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как скопировать некоторые ноды
6 сообщений из 6, страница 1 из 1
Как скопировать некоторые ноды
    #33999005
Satrac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть некоторое дерево
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<message>
  <header>
     <elem1>elem1</elem1>
     <elem2/>
  </header>
  <body>
     <belem1>
        <subelem1>sub1</subelem1>
        <subelem2/>
     </belem1>
     <belem2>
        <subelem1/>
        <subelem2/>
     </belem2>
  </body>
</message>
Уровень вложенности заранее неизвестен. Как скопировать только те ветки, которые что-то содержат. Т.е. как получить дерево вида:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<message>
  <header>
     <elem1>elem1</elem1>
  </header>
  <body>
     <belem1>
        <subelem1>sub1</subelem1>
     </belem1>
  </body>
</message>
...
Рейтинг: 0 / 0
Как скопировать некоторые ноды
    #34000366
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
<template match="*">
<if test=".//text()">
<element name="name(.)">
<apply-templates/>
</element>
</if>
</template>
не проверял.
...
Рейтинг: 0 / 0
Как скопировать некоторые ноды
    #34000389
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ой. Текстовые узлы надо будет по-другому обрабатывать.
...
Рейтинг: 0 / 0
Как скопировать некоторые ноды
    #34000421
Satrac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работает, но не так, как надо. Остается скелет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<message>
  <header>
     <elem1>elem1</elem1>

  </header>
  <body>
     <belem1>
        <subelem1>sub1</subelem1>
 
     </belem1>
     <belem2>
        
     </belem2>
  </body>
</message>

А мне нужно как-то грохнуть всю пустую ветку.
...
Рейтинг: 0 / 0
Как скопировать некоторые ноды
    #34001012
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но ведь что-то исчезло (по-настоящему путсые элементы). По оставшемуся форматированию можно сделать заключение, что belem2 не пуст, у него есть текстовое содержание, хоть оно и состоит из пробельных символов.
...
Рейтинг: 0 / 0
Как скопировать некоторые ноды
    #34003190
Satrac
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это Xalan дуркует. Нашел солюшен.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как скопировать некоторые ноды
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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