powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Копирование одного XML в другой или фильтрация в XML
5 сообщений из 5, страница 1 из 1
Копирование одного XML в другой или фильтрация в XML
    #34111974
Alex Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток всем!

Есть такой XML:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<root>
 <id> 123 </id>
 <status> 1 </status>
 <row>
  <rule> 100 </rule>
  <text>aaa</text>
 </row>
 <row>
  <rule> 100 </rule>
  <text>bbb</text>
 </row>
 <row>
  <rule> 200 </rule>
  <text>ccc</text>
 </row>
 <row>
  <rule> 300 </rule>
  <text>ddd</text>
 </row>
</root>

XML внедрен в HTML страницу. И по нему (точнее по тегам <row> строится табличка). На странице есть выпадающий список

Код: plaintext
1.
2.
3.
4.
5.
<select onChange="onSelChange(this.value)">
 <option value="">Все</option>
 <option value="100"> 100 </option>
 <option value="200"> 200 </option>
 <option value="300"> 300 </option>
</select>

Так вот, надо чтоб при выборе значения из списка, на экране в таблице показывались только те записи (<row>) у кот. значение <rule> = значению в выпадающем списке. Можно конечно при выборе знач. из выпадающего списка по шаблону отбирать записи в XML и удалять не соотв. выбранному значению, но это сработает только один раз...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<script>
 function onSelChange(val) {
  var r=xmlData.documentElement.selectNodes("row[rule!="+val+"]");
  for (i= 0 ;i<r.length;i++) {
   r[i].parentNode.removeChild(r[i]);
  }
 }
</script>

Можно создать на странице пустой элемент типа XML, скопировать в него оригинальное содержимое XML кот. будем фильтровать, а потом при выборе значения из выпад. списка сначала восстанавливать ориг. XML, а потом уже фильтровать его...

Вообщем жду любых предложений!
...
Рейтинг: 0 / 0
Копирование одного XML в другой или фильтрация в XML
    #34112411
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tablerow.style.display="none";
...
Рейтинг: 0 / 0
Копирование одного XML в другой или фильтрация в XML
    #34112439
Alex Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это было бы слишком просто :) Мне желательно с модификацией исходного XML-я. Боюсь вариант с style.display не прокатит, поскольку в таблице использована постраничная разбивка (<table src="xmlData" datafld="row" datapagesize=16>)
...
Рейтинг: 0 / 0
Копирование одного XML в другой или фильтрация в XML
    #34112537
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doc.getElementsByTagName("row"); - это будет почти копия исходного документа.
Когда нужно обновить - удаляешь из документа все строки и добавляешь из копии согласно фильтру
...
Рейтинг: 0 / 0
Копирование одного XML в другой или фильтрация в XML
    #34112636
Alex Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да я собственно так и делал, только тормозит жаваскрипт при большом кол-ве записей. Думал может есть какой другой способ.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Копирование одного XML в другой или фильтрация в XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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