Che*_*eso 9 javascript wsh msxml6 jscript
我有一个MSXML2.DomDocument的实例.
随着缩进,我挥挥手来保存它.
此代码有效,但不会缩进:
var dom = new ActiveXObject("MSXML2.DomDocument");
// fiddle with dom here
dom.save(filename);
Run Code Online (Sandbox Code Playgroud)
我想我可以使用MXXMLWriter对象来注入缩进.
怎么样?
这个做得好.
function saveDomWithIndent(dom, filename) {
var writer = new ActiveXObject("MSXML2.MXXMLWriter"),
reader = new ActiveXObject("MSXML2.SAXXMLReader"),
fso = new ActiveXObject("Scripting.FileSystemObject"),
textStream = fso.CreateTextFile(filename, true);
writer.indent = true;
writer.omitXMLDeclaration = true;
reader.contentHandler = writer;
reader.parse(dom);
textStream.Write(writer.output);
textStream.Close();
}
Run Code Online (Sandbox Code Playgroud)
像这样使用它:
var root, node, newnode,
dom = new ActiveXObject("MSXML2.DOMDocument.6.0");
dom.async = false;
dom.resolveExternals = false;
dom.load(fullpath);
root = dom.documentElement;
node = root.selectSingleNode("/root/node1");
if (node !== null) {
newnode = dom.createElement('node2');
newnode.text = "hello";
root.appendChild(newnode);
saveDomWithIndent(dom, fullpath);
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何调整缩进级别.它总是缩进tab.
| 归档时间: |
|
| 查看次数: |
9048 次 |
| 最近记录: |