xml节点怎么删不掉呢?
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)