相关疑难解决方法(0)

用javascript打印XML

我有一个字符串,表示我想要打印的非缩进XML.例如:

<root><node/></root>
Run Code Online (Sandbox Code Playgroud)

应成为:

<root>
  <node/>
</root>
Run Code Online (Sandbox Code Playgroud)

语法突出显示不是必需的.为了解决这个问题,我首先转换XML以添加回车符和空格,然后使用pre标签输出XML.为了添加新行和空格,我编写了以下函数:

function formatXml(xml) {
    var formatted = '';
    var reg = /(>)(<)(\/*)/g;
    xml = xml.replace(reg, '$1\r\n$2$3');
    var pad = 0;
    jQuery.each(xml.split('\r\n'), function(index, node) {
        var indent = 0;
        if (node.match( /.+<\/\w[^>]*>$/ )) {
            indent = 0;
        } else if (node.match( /^<\/\w/ )) {
            if (pad != 0) {
                pad -= 1;
            }
        } else if (node.match( /^<\w[^>]*[^\/]>.*$/ )) {
            indent = 1;
        } else {
            indent = 0;
        }

        var padding = …
Run Code Online (Sandbox Code Playgroud)

javascript xml xslt pretty-print

123
推荐指数
8
解决办法
14万
查看次数

标签 统计

javascript ×1

pretty-print ×1

xml ×1

xslt ×1