Форматирование XML
Добрый день.
Имеется XML-структура в виде сплошной текстовой стороки. Подскажите пожалуйста скриптик который привел бы данную стоку в форматированный вид (в textarea). Т.е. есть строка: Код:
<root><node1>234</node1><subnode><node2>sdf</node2></subnode></root> Код:
<root> |
Цитата:
http://jsbeautifier.org/ |
Спасибо конечно :) Но нужен JS :) и офлайн :)
|
в любой пристойной IDE можно сделать Format Code, и она расставит пробелы-переводы строк в файле, отформатировав его адекватным образом
|
Не знаю что такое IDE :) а что такое "пристойная IDE" тем более :) мне бы скриптик... :)
|
Цитата:
Цитата:
в чем проблема-то? |
Цитата:
П.С. и как Вам в голову пришло, что я прошу JS скрипт (т.е. работающий на клиенте), а Вы мне прделагаете поставить VS (например)... или мне нада ставить ее у каждого пользователя и писать инструкцию по форматированию ... :) :) :) Цитата:
|
Цитата:
Пожалуйста пройдите повторно школьный курс языка Цитата:
Если вы собираетесь запускать этот функционал не только у себя на компе, то это он-лайн. Если же вы собираетесь запускать только у себя, то это офф-лайн Цитата:
Сервис который вам указали написан на JS. Осталось только забрать оттуда скрипты и использовать их. Цитата:
|
Цитата:
Цитата:
Цитата:
|
Цитата:
Вполне достойная оплата за лень. Да, и раз вы собираетесь показывать свой сервис в локалке, то какое значение имеет сотня килобайт? Цитата:
При условиях: - у вас есть средние навыки программирования вообще - у вас есть желание сделать эту задачу. и вы делаете а не ноете. вы уже два часа потратили впустую. даже если я упрощаю, и новичку нужно больше времени чем час, вы бы уже могли сделать этот скрипт |
Уфффф... куда то тема ушла в сторону. Если Вам не известно готовое решение (более "точеченое") подождем еще :) может кто встречал... :)
|
Цитата:
И естественно я для вас его писать не буду, потому что форум вовсе не для этого предназначен Если вы хотите сами написать данный скрипт, вот базовый перечень статей, где содержится материал необходимый для написания данного скрипта: http://javascript.ru/tutorial/dom http://innerhtml.ru/ http://javascript.ru/String/replace (первый аргумент - RegExp, второй - "умная" функция замены) А если вы хотите чтобы за вас написали скрипт, или загуглил, то вам в раздел работа. Бездельникам здесь не место |
Цитата:
Код:
<root> |
slivka_83, даю наводку:
alert('<root><node1>234</node1><subnode><node2>sdf</node2></subnode></root>'.replace(/>(?=<)/g, '$&\n')); Только в для реального форматирования нужно работать с DOM А готовых решений для форматирования кода в сети дополна, учитесь пользоваться поиском. |
Функция для форматирования 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, "<"); bufStr = bufStr.replace(p4, ">"); bufStr = "<pre>"+bufStr+"</pre>"; } return bufStr; } |
Цитата:
|
Раед,
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, но и для программного кода |
Часовой пояс GMT +3, время: 14:42. |