var j=0;
var root=xmlDoc.documentElement;
nodes=root.childNodes;
for(var i=0;i<xpair.length;i++){
if(document.getElementById('name').innerHTML==xpair[i].firstChild.text){
/* var x=xmlDoc.getElementsByTagName("pair")[i];
x.removeChild(x.firstChild);
x.removeChild(x.firstChild.nextSibling);
x.removeChild(x.lastChild);
alert("bbbbbbbbbbbbb"+x.firstChild);*/
alert("bbbbbbbbbbbbb"+nodes.item(i));
root.removeChild(nodes.item(i));
$("result").innerHTML="删除成功!";
j++;
}
}
为什么我删不掉节点呢?红色部分和蓝色部分都不行,都得不到值,这是为什么呢?
下面是我的xml文件,就是把其中一个pair连里面内容一起干掉
<?xml version="1.0" ?>
- <root>
- <pair>
<name>a</name>
<price />
<data />
</pair>
- <pair>
<name>abc</name>
<price />
<data />
</pair>
- <pair>
<name>456</name>
<price>123</price>
<data>567</data>
</pair>
</root>
------解决方案--------------------
用xmlDOc = new ActiveObjects("Msxml2.DOMDocument.3.0")
...
var nodes = xmlDoc.selectNodes("//pair[child::name='" + document.getElementById('name').innerHTML + "']");
nodes.removeAll();
alert(xmlDoc.documentElement.xml);
...
------解决方案--------------------
xmlDoc.Save("path");
------解决方案--------------------
xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0")
------解决方案--------------------
- JScript code
var str='<?xml version="1.0"?><root><pair><name>a</name><price /><data /></pair>" +"<pair><name>abc</name><price /><data /></pair>' +'<pair><name>456</name><price>123</price><data>567</data></pair></root>'; var dom=new ActiveXObject("Microsoft.xmldom"); dom.loadXML(str); dom=dom.documentElement; alert(dom.xml) var pairs=dom.getElementsByTagName("pair"); for(var i=0;i<pairs.length;i++) { if(pairs[i].firstChild.firstChild.nodeValue=="a") dom.removeChild(pairs[i]); } alert(dom.xml)
------解决方案--------------------
- JScript code
/*var str='<?xml version="1.0"?><root><pair><name>a</name><price /><data /></pair><pair><name>abc</name><price /><data /></pair>'+ '<pair><name>456</name><price>123</price><data>567</data></pair></root>';*/ var dom=new ActiveXObject("Microsoft.xmldom"); dom.load("data.xml");//路径和文件名 dom.async=false;//同步 //dom.loadXML(str); dom=dom.documentElement; alert(dom.xml) var pairs=dom.getElementsByTagName("pair"); for(var i=0;i<pairs.length;i++) { if(pairs[i].firstChild.firstChild.nodeValue=="a") dom.removeChild(pairs[i]); } alert(dom.xml)