Функция для форматирования 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;
}
|