Microsoft/XMLDOM 오브젝트를 사용하여 XLM 문서를 수정하려고합니다. 결과는 각 요소를 새 행에 배치해야하며 들여 쓰기 레벨은 중첩 레벨과 일치해야합니다. 나는 XML 출력이 유효하다는 것을 알고이들여 쓰기로 XML 작성
<root>
<A>foo</A><B>bar</B>
</root>
결과
<root>
</root>
"in.xml"
var objXML = new ActiveXObject("Microsoft.XMLDOM");
objXML.load("in.xml")
var CRLF = objXML.createTextNode("\n");
var root = objXML.documentElement;
var node = objXML.createNode(1, "A", root.namespaceURI);
var text = objXML.createTextNode("foo");
node.appendChild(text);
root.appendChild(node);
root.appendChild(CRLF); // creates NOT a newline after <A>foo</A>
node = objXML.createNode(1, "B", root.namespaceURI);
text = objXML.createTextNode("bar");
node.appendChild(text);
root.appendChild(node);
root.appendChild(CRLF); // creates a newline after <B>bar</B>
objXML.save("out.xml");
이 입력 파일 : 나는이 같은 스크립트로이 시도 Internet Explorer 나 XMLDOM, libXML 등을 사용하는 다른 프로그램과 같은 다른 응용 프로그램에서도 읽을 수 있습니다. 그러나 미학적 인 이유와 아마도 수동 편집을 단순화하기 위해 잘 형식화 된 출력물을 얻고 싶습니다.
이 결과를 얻으려면 어떻게 스크립트를 변경할 수 있습니까?
<root>
<A>foo</A>
<B>bar</B>
</root>
일부 지역에서는 appendChild(CRLF)
을 추가했습니다. 그러나 추가 된 요소 간에는 작동하지 않습니다.