динамический порядок
имеем вставку в штмл вот примерно такого вида
<textarea id="xsldata" style="display:none"> <?xml version='1.0' encoding='UTF-8'?> <doc> <row><rname>region</rname><fname>Район</fname><ptip>1</ptip></row> <row><rname>pred</rname><fname>Предприятие</fname><ptip>1</ptip></row> .... <row><rname>oblast</rname><fname>Область</fname><ptip>1</ptip></row> </doc> </textarea> задача такова что нужно динамически менять порядок строк таблицы XML мой алгоритм был таков: ввести дополнительный аттрибут/элемент, по нему вести сортировку и, соответственно, его и менять при необходимости, но наткнулся на проблему, насколько я понял, невозможно добавить свой элемент в XML завернутый в textarea, если это возможно то натолкните плз на решение, если нет, то другого алгоритма я пока не вижу....может есть у кого-нибудь какие-то идеи по этому поводу? |
внутри textarea ваш xml-код представляется, как обычная строка, и браузер никак его не парсит и не преобразует теги в DOM-объекты.
|
то есть способ который я предполагал неосуществим никак.....хорошо, может есть какие нибудь предложения, алгоритм, хотябы толчок в нужную сторону?
|
Я не понимаю для чего может понадобится помещать xml-код в textarea, но если уж так нужно, то работайте со строкой document.getElementById("xsldata").value или попробуйте создавать DOMDocument из вашего кода, а после изменения помещать новое значение в textarea.
|
Цитата:
Можно динамически создать XSL документ и трансформировать им XML-строку не внося изменений. На выходе получим распарсенное DOM-дерево:) |
Цитата:
var arr = str.split(/\r\n/g), x = arr[5]; arr[5] = arr[4]; arr[4] = x; str.join('\r\n'); |
Цитата:
вобщем в данном случае я просто не могу понять к чему привязаться для изменнения порядка ПС Работать все это добро :) должно firefox only, к сожалению я новичок, много в ответах могу не понимать, посоветуйте плз алгоритм, а техническую сторону я уж как нибудь постараюсь понять сам |
Цитата:
arr[0]="<row><rname>region</rname><fname>Район</fname><ptip>1</ptip></row>" arr[1]="<row><rname>pred</rname><fname>Предприятие</fname><ptip>1</ptip></row>" ну вот чтото такое...заранее благодарен |
RegExp#match
/<row>.*?</row>/gi |
Цитата:
весьма благодарен второй слеш не будет считатся за окончание выражения? а как его экранировать? /<row>.*?<\/row>/gi вот так? да? ПС уже нашел в коментах, спасибо, только регулярное выражение както неправильно работает, но я думаю сам дальше уже, спасибо большое |
Часовой пояс GMT +3, время: 21:17. |