如何使用Javascript格式化带换行符的XML字符串?
我尝试的是格式化一个字符串变量,它表示一个XML文件,带有换行符如何使用Javascript格式化带换行符的XML字符串?,javascript,xml,Javascript,Xml,我尝试的是格式化一个字符串变量,它表示一个XML文件,带有换行符 // This represents an XML file, but it's not formatted let xmlStr = "<?xml version="1.0"?><?meta name="test"?><Foo> <Bar> <FooBar/> </Bar></Foo>&q
// This represents an XML file, but it's not formatted
let xmlStr = "<?xml version="1.0"?><?meta name="test"?><Foo> <Bar> <FooBar/> </Bar></Foo>";
上面的console.log
应该打印以下内容
<?xml version="1.0"?>
<?meta name="test"?>
<Foo>
<Bar>
<FooBar/>
</Bar>
</Foo>
生成的xmlString
未格式化(即没有换行符)
是否可以使用Javascript向XML字符串添加换行符
更新
必须在不更改XML字符串中的制表符(或空格)的情况下进行格式化。这意味着,例如,将不使用,因为生成的字符串将具有不同长度的制表符。如果
xml标记之间没有文本,如您所展示的示例中所示(例如
而不是某些文本
),可以简单地执行以下操作:
xmlStr.replaceAll(">",">\n")
导致
<?xml version="1.0"?>
<?meta name="test"?>
<Foo>
<Bar>
<FooBar/>
</Bar>
</Foo>
这是否回答了您的问题?有可能,是的。毕竟这只是一根绳子。问题是,如何确定在何处插入换行符。到目前为止你都试了些什么?@wuerfelfreak,谢谢你的建议。不幸的是,链接上发布的解决方案并不是真正需要的。这两种解决方案不仅插入换行符,还插入制表符。我所处的情况是,除了格式之外,不允许更改XML中的任何内容。因此,不允许添加选项卡。这有意义吗?
xmlStr.replaceAll(">",">\n")
<?xml version="1.0"?>
<?meta name="test"?>
<Foo>
<Bar>
<FooBar/>
</Bar>
</Foo>