react将一段xml格式的字符串格式化输出并有序的缩进
写react项目的时候接到一个需求,后端接口返回一段xml格式的字符串,但UI要求在字符串展示的时候闭合标签的排版要对应,子节点要有想应的缩进,我能想到的最方便的方法就是利用正则表达式了,在网上找到的一个例子,修改了一下,实现代码如下:
import React, {
Component } from 'react';
import ReactDOM from 'react-dom';
class FormatXMML extends Component {
constructor(props) {
super(props);
this.state = {
msg: ''
}
}
//计算头函数 用来缩进
setPrefix(prefixIndex) {
var result = '';
var span = ' ';//缩进长度
var output = [];
for (var i = 0; i < prefixIndex; ++i) {
output.push(span);
}
result = output.join('');
return result;
}
//格式化xml代码
formateXml(xmlStr) {
let that=this;
let text = xmlStr;
//使用replace去空格
text = '\n' &