用于缩进 XML 文件的正则表达式 [英] Regex to Indent an XML File
问题描述
是否可以编写一个 REGEX(搜索替换),当在 XML 字符串上运行时会输出缩进的 XML 字符串?
Is it possible to write a REGEX (search replace) that when run on an XML string will output that XML string indented nicely?
如果是,那么正则表达式是什么:)
If so whats the REGEX :)
推荐答案
是否可以编写一个在 XML 字符串上运行时的 REGEX(搜索替换)[...任何东西]
Is it possible to write a REGEX (search replace) that when run on an XML string [...anything]
没有
使用 XML 解析器读取字符串,然后使用 XML 序列化器以漂亮"模式将其写回.
Use an XML parser to read the string, then an XML serialiser to write it back out in ‘pretty’ mode.
每个 XML 处理器都有自己的选项,因此它取决于平台,但以下是适用于 DOM Level 3 LS 兼容实现的有点冗长的方法:
Each XML processor has its own options so it depends on platform, but here is the somewhat long-winded way that works on DOM Level 3 LS-compliant implementations:
input= implementation.createLSInput();
input.stringData= unprettyxml;
parser= implementation.createLSParser(implementation.MODE_SYNCHRONOUS, null);
document= parser.parse(input);
serializer= implementation.createLSSerializer();
serializer.domConfig.setParameter("format-pretty-print", true);
prettyxml= serializer.writeToString(document);
这篇关于用于缩进 XML 文件的正则表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!