js格式化显示xml
本文实例讲述了JavaScript格式化json和xml的方法。分享给大家供大家参考,具体如下:
格式化json实例
原生js格式化json的方法
//格式化代码函数,已经用原生方式写好了不需要改动,直接引用就好
var formatJson=function (json, options) {
var reg=null,
formatted='',
pad=0,
PADDING=' ';
options=options || {};
options.newlineAfterColonIfBeforeBraceOrBracket=(options.newlineAfterColonIfBeforeBraceOrBracket===true) ? true : false;
options.spaceAfterColon=(options.spaceAfterColon===false) ? false : true;
if (typeof json !=='string') {
json=JSON.stringify(json);
} else {
json=JSON.parse(json);
json=JSON.stringify(json);
}
reg=/([\{\}])/g;
json=json.replace(reg, '\r
$1\r
');
reg=/([\[\]])/g;
json=json.replace(reg, '\r
$1\r
');
reg=/(\,)/g;
json=json.replace(reg, '$1\r
');
reg=/(\r
\r
)/g;
json=json.replace(reg, '\r
');
reg=/\r
\,/g;
json=json.replace(reg, ',');
if (!options.newlineAfterColonIfBeforeBraceOrBracket) {
reg=/\:\r
\{/g;
json=json.replace(reg, ':{');
reg=/\:\r
\[/g;
json=json.replace(reg, ':[');
}
if (options.spaceAfterColon) {
reg=/\:/g;
json=json.replace(reg, ':');
}
(json.split('\r
')).forEach(function (node, index) {
var i=0,
indent=0,
padding='';
if (node.match(/\{$/) || node.match(/\[$/)) {
indent=1;
} else if (node.match(/\}/) || node.match(/\]/)) {
if (pad !==0) {
pad -=1;
}
} else {
indent=0;
}
for (i=0; i < pad; i++) {
padding +=PADDING;
}
formatted +=padding + node + '\r
';
pad +=indent;
}
);
return formatted;
};
//引用示例部分
//(1)创建json格式或者从后台拿到对应的json格式
var originalJson=;
//(2)调用formatJson函数,将json格式进行格式化
var resultJson=formatJson(originalJson);
//(3)将格式化好后的json写入页面中
document.getElementById("writePlace").innerHTML='
' +resultJson + '
';
这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码,可得如下运行结果:
{
"name":"binginsist",
"sex":"男",
"age":"25"
}
格式化xml实例
在格式化XML时后台需要对返回数据做一下处理:
StringEscapeUtils.escapeHtml(po.getMsgBody())
原生js格式化xml的方法
//格式化代码函数,已经用原生方式写好了不需要改动,直接引用就好
String.prototype.removeLineEnd=function () {
return this.replace(/(<.>
}
function formatXml(text) {
//去掉多余的空格
text='
' + text.replace(/()/g, function ($0, name, props) {
return name + ' ' + props.replace(/\s+(\w+=)/g, " $1");
}).replace(/>\s*?
//把注释编码
text=text.replace(/
/g, '\r').replace(//g, function ($0, text) {
var ret='';
//alert(ret);
return ret;
}).replace(/\r/g, '
');
//调整格式
var rgx=/
(|\s*?(/)>)(?:.*?(?:(?:(/)>)|(?:)))?)/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='
' + prefix + all;
return ret;
});
var prefixSpace=-1;
var outputText=output.substring(1);
//alert(outputText);
//把注释还原并解码,调格式
outputText=outputText.replace(/
/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, '
');
var ret='
' + prefix + '';
//alert(ret);
return ret;
});
return outputText.replace(/\s+$/g, '').replace(/\r/g, '\r
');
}
function getPrefix(prefixIndex) {
var span=' ';
var output=[];
for (var i=0; i < prefixIndex; ++i) {
output.push(span);
}
return output.join('');
}
//引用示例部分
//(1)创建xml格式或者从后台拿到对应的xml格式
var originalXml='ToveJaniReminder Dont forget me this weekend! ';
//(2)调用formatXml函数,将xml格式进行格式化
var resultXml=formatXml(originalXml);
//(3)将格式化好后的formatXml写入页面中
document.getElementById("writePlace").innerHTML='
' +resultXml + '
';
这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun测试上述代码,可得如下运行结果:
Tove
Jani
Reminder
Dont forget me this weekend!
PS:这里再为大家提供几款关于xml与json操作的在线工具供大家参考使用:
希望本文所述对大家JavaScript程序设计有所帮助。
js格式化显示xml相关推荐
- php xml 格式化,PHP实现浏览器格式化显示XML的方法示例
本文实例讲述了PHP实现浏览器格式化显示XML的方法.分享给大家供大家参考,具体如下: 在头部加上 header("Content-type: application/xml"); ...
- php 让浏览器格式化显示XML
在头部加上 header("Content-type: application/xml"); 刚开始加上了发现还是不行.最近一直尝试最后终于找到解决办法.在代码最后加上exit;就 ...
- js格式化xml并高亮显示关键字
w3school XML DOM - DOMParser 对象 DOMParser 解析 XML 标记来创建一个文档. 构造函数 new DOMParser() DOMParser 对象解析 XML ...
- 服务器端验证表单_Web表单开发之实时格式化显示——Cleave.js
介绍 Cleave.js是一个帮助表单实现各种复杂实时格式化显示的工具库,可以说Cleave.js让表单的输入变得更加的高逼格,能实现很多复杂的表单格式化显示,简而言之就是针对<input/&g ...
- 格式化显示在Label控件中的金额格式文本 (2)
通过Label控件的Text属性可以设置控件内显示的文本,而通过对象的ToString方法可以格式化字符串显示的格式.本实例设定在Label控件中金额的显示格式,运行结果如图1所示. <?XML ...
- js localdate上一个月_moment.js格式化日期,获取前一个月的时间
下载moment.js 格式化当前日期: //显示结果为:"2017-09-20 15:35:52" moment(new Date()).format('YYYY-MM-DD H ...
- ElementUI中el-select请求springboot后台数据显示下拉项并在el-table中格式化显示
场景 Vue+ElementUI+axios+SpringBoot前后端分离的后台管理系统. 将表格中某字段类似于状态等需要关联字典表进行筛选查询时.示例如下 注: 博客: https://blog. ...
- 解决vscode格式化代码html属性换行问题; ctrl+s格式化去除分号,格式化自动单引号;解决js格式化换行问题;mac上的settings.json完整配置
右键格式化文档或者ctrl + s保存 html不换行 1.安装两个插件①vetur ②Prettier - Code formatter 2.在vetur的settings.json中设置 配置ct ...
- xml不显示css样式_如何使用CSS显示XML?
xml不显示css样式 Introduction: 介绍: You must be aware of the term XML and must have dealt with these vario ...
- js 格式化 java时间格式化_用JavaScript(js)对时间格式化
可以说是Web项目中不可或缺的一个Javascript类库,它可以帮助你快速的解决客户端编程的许多问题,下面贴出一个用js格式化时间的方法. Date.prototype.format=functio ...
最新文章
- CanalAdapter启动过程分析(源码详解)
- 轻松理解牛顿迭代法且用其求平方根
- 诗与远方:无题(二十五)
- RHEL7 -- 修改主机名
- 为什么用自己的电脑部署服务器之后外网访问不到呢?并且该如何解决这个问题呢?...
- 新机发布会用鸿蒙吗,鸿蒙操作系统及华为全场景新品发布会即将到来,硬件生态发展有望迎来加速度...
- 自己的包增加为第三方包,使用Eclipse环境报Unresolved import错误(pycharm可用正常引用)...
- 电场在计算机专业的应用,电磁学在电力系统中的应用
- Windows超级管理器绿色单文件版V9.41下载 | 电脑任务管理器损坏可予以替代 | Windows超级管理器下载
- 2018云原生技术实践峰会CNBPS 重新定义云原生
- Lory的编程之旅就此启动
- 【Android组件化】javaPoet的使用
- SilverLight合计行设计
- 龙门架式焊接机器人_龙门架式焊接机器人系统设计
- python爬虫----汽车之家的汽车论坛的最新精华帖
- SQL Server代理(3/12):代理警报和操作员
- css获取时间,改变CSS 样式,获取当前日期
- Explore EPF021D ADC微控制器
- Java界面布局管理(简单)
- WPS Excel做多级下拉菜单列表
热门文章
- Cocos2dx--Cocos2dx与Android平台的跨平台调用
- cruisecontrol 持续化集成(运行bat脚本)
- 计算机网络应用基础试题6,计算机网络应用基础期末试卷试题2
- 主控域NTP时间同步(PTP时钟同步服务器)配置方法
- 高等代数100道题及答案解析
- 请教问题:ckeditor脚本错误“Error:例外被抛出且未被接住”[已解决]
- 基于Java的网上订餐系统(附:源码 课件)
- Color-UI 简介及使用教程
- android手游开发三维地图高清版,全球地图3D模拟器
- Java基础18 异常,Java面试题库