gpt4 book ai didi

javascript - 如何保存缩进的 MSXML2.DomDocument? (我认为它使用 MXXMLWriter)

转载 作者:数据小太阳 更新时间:2023-10-29 03:53:10 26 4
gpt4 key购买 nike

我有一个 MSXML2.DomDocument 实例。

我挥手保存它,缩进。

此代码有效,但不缩进:

var dom = new ActiveXObject("MSXML2.DomDocument");
// fiddle with dom here
dom.save(filename);

我想我可以使用 MXXMLWriter 对象来注入(inject)缩进。

如何?

最佳答案

这应该可以做到。

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();
}

像这样使用它:

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);
}

我不知道如何调整缩进级别。它总是以 tab 缩进。

关于javascript - 如何保存缩进的 MSXML2.DomDocument? (我认为它使用 MXXMLWriter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11144192/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com