日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

使用Javascript正则表达式来格式化XML内容

發(fā)布時(shí)間:2023/11/29 asp.net 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Javascript正则表达式来格式化XML内容 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head><meta http-equiv=content-type content="text/html; charset=UTF-8"><title>Xml格式化工具</title><script type="text/javascript">String.prototype.removeLineEnd = function(){return this.replace(/(<.+?\s+?)(?:\n\s*?(.+?=".*?"))/g,'$1 $2')}function formatXml(text){//去掉多余的空格text = '\n' + text.replace(/(<\w+)(\s.*?>)/g,function($0, name, props){return name + ' ' + props.replace(/\s+(\w+=)/g," $1");}).replace(/>\s*?</g,">\n<");//把注釋編碼text = text.replace(/\n/g,'\r').replace(/<!--(.+?)-->/g,function($0, text){var ret = '<!--' + escape(text) + '-->';//alert(ret);return ret;}).replace(/\r/g,'\n');//調(diào)整格式var rgx = /\n(<(([^\?]).+?)(?:\s|\s*?>|\s*?(\/)>)(?:.*?(?:(?:(\/)>)|(?:<(\/)\2>)))?)/mg;var nodeStack = [];var output = text.replace(rgx,function($0,all,name,isBegin,isCloseFull1,isCloseFull2 ,isFull1,isFull2){var isClosed = (isCloseFull1 == '/') || (isCloseFull2 == '/' ) || (isFull1 == '/') || (isFull2 == '/');//alert([all,isClosed].join('='));var prefix = '';if(isBegin == '!'){prefix = getPrefix(nodeStack.length);}else {if(isBegin != '/'){prefix = getPrefix(nodeStack.length);if(!isClosed){nodeStack.push(name);}}else{nodeStack.pop();prefix = getPrefix(nodeStack.length);}}var ret = '\n' + prefix + all;return ret;});var prefixSpace = -1;var outputText = output.substring(1);//alert(outputText);//把注釋還原并解碼,調(diào)格式outputText = outputText.replace(/\n/g,'\r').replace(/(\s*)<!--(.+?)-->/g,function($0, prefix, text){//alert(['[',prefix,']=',prefix.length].join(''));if(prefix.charAt(0) == '\r')prefix = prefix.substring(1);text = unescape(text).replace(/\r/g,'\n');var ret = '\n' + prefix + '<!--' + text.replace(/^\s*/mg, prefix ) + '-->';//alert(ret);return ret;});return outputText.replace(/\s+$/g,'').replace(/\r/g,'\r\n');}function getPrefix(prefixIndex){var span = ' ';var output = [];for(var i = 0 ; i < prefixIndex; ++i){output.push(span);}return output.join('');} function btnFormat_click(){var $ = document.getElementById;$('output').value = formatXml($('input').value);}</script></head> <body><textarea id="input" style="width:100%;height:45%;"></textarea><div style="margin:0px auto;"><input type="button" id="btnFormat" onclick="btnFormat_click()" value="格式化" style="width:50%;height:10%;"/></div><textarea id="output" style="width:100%;height:45%;"></textarea> </body> </html>

?

轉(zhuǎn)載于:https://my.oschina.net/fanshuwanzi/blog/738321

總結(jié)

以上是生活随笔為你收集整理的使用Javascript正则表达式来格式化XML内容的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。