百分求JS操作XML写法,解决马上给分!!
xdhou 2004-09-03 11:15:22 各位老大,我想用JS遍历一棵树,根据节点状态更新一XML文件内容,代码肯请帮助:
function FindCheckedFromNode(node) {
var i = 0;
var j = 0;
var nodes = new Array();
nodes = node.getChildren();
for (i = 0; i < nodes.length; i++) {
var cNode;
cNode=nodes[i];
if (cNode.getAttribute("Checked"))
var b = xmlApp.XMLDocument.selectNodes("/RolePermissionRoot/RolePermissionList");
for(var j=0;j < b.length;j++)
if (b[j].childNodes[0].childNodes[0].nodeValue == cNode.getAttribute("ID"))
b[j].childNodes[1].childNodes[0].nodeValue = "READ";
else
var b = xmlApp.XMLDocument.selectNodes("/RolePermissionRoot/RolePermissionList");
for(var j=0;j < b.length;j++)
if (b[j].childNodes[0].childNodes[0].nodeValue == cNode.getAttribute("ID"))
b[j].childNodes[1].childNodes[0].nodeValue = "";
if (parseInt(cNode.getChildren().length) != 0 ) {
FindCheckedFromNode(cNode);
}
}
}
<XML id="xmlApp">
<RolePermissionRoot>
<RolePermissionList>
<MenuID>6</MenuID>
<Rights>READ</Rights>
</RolePermissionList>
<RolePermissionList>
<MenuID>7</MenuID>
<Rights>DEL</Rights>
</RolePermissionList>
</RolePermissionRoot>
</XML>
目的,找到MenuID改掉Rights的值,谢谢
var b = xmlApp.XMLDocument.selectNodes("/RolePermissionRoot/RolePermissionList");
for(var j=0;j < b.length;j++)
if (b[j].childNodes[0].childNodes[0].nodeValue == cNode.getAttribute("ID"))
b[j].childNodes[1].childNodes[0].nodeValue = "READ";
以上一段怎么改?