我将一个新节点添加到现有XML,但格式不正确。 原始XML是:
<xml xmlns:xi="http://www.w3.org/2001/XInclude">
<vars>
....
我尝试在“ vars”之前插入,结果是
<xml xmlns:xi="http://www.w3.org/2001/XInclude">
<TCafe initvalue="1" type="int"/><vars>
但是我希望
<xml xmlns:xi="http://www.w3.org/2001/XInclude">
<TCafe initvalue="1" type="int"/>
<vars>
我的代码很简单:
var xmlDoc = new DOMParser().parseFromString(dataRegelWerk);
if(allok == false){
var root = xmlDoc.documentElement;
var varselem = xmlDoc.getElementsByTagName('vars')[0];
var newEle = xmlDoc.createElement('TCafe');
var att1 = xmlDoc.createAttribute("initvalue");
att1.value = "1";
var att2 = xmlDoc.createAttribute("type");
att2.value = "int";
newEle.setAttributeNode(att1);
newEle.setAttributeNode(att2);
root.insertBefore(newEle, varselem);
}
var myFile = serializer.serializeToString(xmlDoc);
我了解insertBefore的问题吗?还是这是一种很好的XML格式,我只是期待一个错误的事情?