Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 09.02.2011, 14:22
Интересующийся
Отправить личное сообщение для slivka_83 Посмотреть профиль Найти все сообщения от slivka_83
 
Регистрация: 10.11.2009
Сообщений: 14

Уфффф... куда то тема ушла в сторону. Если Вам не известно готовое решение (более "точеченое") подождем еще может кто встречал...
Ответить с цитированием
  #12 (permalink)  
Старый 09.02.2011, 21:03
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от slivka_83
Если Вам не известно готовое решение (более "точеченое")
неизвестно. но писать его пять минут.
И естественно я для вас его писать не буду, потому что форум вовсе не для этого предназначен
Если вы хотите сами написать данный скрипт, вот базовый перечень статей, где содержится материал необходимый для написания данного скрипта:
http://javascript.ru/tutorial/dom
http://innerhtml.ru/
http://javascript.ru/String/replace (первый аргумент - RegExp, второй - "умная" функция замены)

А если вы хотите чтобы за вас написали скрипт, или загуглил, то вам в раздел работа.
Бездельникам здесь не место
Ответить с цитированием
  #13 (permalink)  
Старый 10.02.2011, 10:32
Профессор
Отправить личное сообщение для with-love-from-siberia Посмотреть профиль Найти все сообщения от with-love-from-siberia
 
Регистрация: 14.12.2009
Сообщений: 155

Сообщение от slivka_83 Посмотреть сообщение
Добрый день.

Т.е. есть строка:
Код:
<root><node1>234</node1><subnode><node2>sdf</node2></subnode></root>
а надо вывести в textarea так:
Код:
<root>
   <node1>234</node1>
   <subnode>
      <node2>sdf</node2>
   </subnode>
</root>
Переделать текст вида, как в первом примере в нечто более читабельное, например, хотя бы как это:
Код:
<root>
<node1>234</node1>
<subnode>
<node2>sdf</node2>
</subnode>
</root>
не представляет никаких-сложностей. Если Вы умеете писать, Вам это по плечу. При чем, в большинстве языков реашается в 1-3 строки.
Ответить с цитированием
  #14 (permalink)  
Старый 10.02.2011, 21:04
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

slivka_83, даю наводку:
alert('<root><node1>234</node1><subnode><node2>sdf</node2></subnode></root>'.replace(/>(?=<)/g, '$&\n'));

Только в для реального форматирования нужно работать с DOM
А готовых решений для форматирования кода в сети дополна, учитесь пользоваться поиском.
Ответить с цитированием
  #15 (permalink)  
Старый 06.05.2012, 12:44
Новичок на форуме
Отправить личное сообщение для Davidok95 Посмотреть профиль Найти все сообщения от Davidok95
 
Регистрация: 06.05.2012
Сообщений: 1

Функция для форматирования xml
formatXml = function(str, brouser) {
var bufStr = "";
str = str.replace(/></g, ">\n<");
str = str.replace(/>$/g, ">\n")
var arr = str.match(/<.*?>.*?\n/gim);
var p = /<[^/].*>/i;
var p1 = /<(.*?)>.*?<\/(\1)>/i;
var p2 = new RegExp("^<[/]{1}.*>", "i");
var dy = "";
for (var i=0; i<arr.length; i++) {
if (p2.test(arr[i])) {
dy = dy.substring(0, dy.length-3);
}
bufStr += dy+arr[i];
if (p.test(arr[i])) {
if (p1.test(arr[i])) {} else
dy += " ";
}
}
var p3 = /</g;
var p4 = />/g;
if (brouser) {//экранируем строки для вывода в браузер
bufStr = bufStr.replace(p3, "&lt");
bufStr = bufStr.replace(p4, "&gt");
bufStr = "<pre>"+bufStr+"</pre>";
}
return bufStr;
}
Ответить с цитированием
  #16 (permalink)  
Старый 06.05.2012, 13:13
Аватар для Раед
''
Отправить личное сообщение для Раед Посмотреть профиль Найти все сообщения от Раед
 
Регистрация: 11.12.2011
Сообщений: 636

Сообщение от slivka_83
в любой пристойной IDE можно сделать Format Code
А не посоветуете какую-нибудь "пристойную IDE"
Ответить с цитированием
  #17 (permalink)  
Старый 06.05.2012, 13:36
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Раед,
1) Netbeans
Исходный файл> формат
2) Notepad++ + Xml Tools(форматирует только валидный XML - куски XML_а не умеет обрабатывать)
Где-то в меню работы с плагинами
3) Visual Studio c установленным Web Tools(хотя может он и не нужен для этого) + Resharper 6.1 предоставляет два различных способа:
Edit>Advanced>Format Document
Resharper>Tools>Clean Up Code...

Это из тех IDE/редакторов где я пользовался этой функцией.
А так присоединяюсь, к мнению, что в любой развитой IDE обычно есть опция форматирования исходников для тех языков с которыми она работает, то есть не только для XML, но и для программного кода
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с парсингом XML Verhal Общие вопросы Javascript 2 12.06.2010 22:25
Как удалить из памяти весь XML документ? EisBerg Events/DOM/Window 1 03.04.2010 14:45
Изменение текста в XML (не удаленный, но править нельзя) Qwe2Qwe Общие вопросы Javascript 3 28.02.2010 12:44
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36
Не получается загрузить xml из php Alekson jQuery 2 08.07.2009 09:33