js操作xml

先在客房端注册一段xml脚本
<XML ID='xmlDom'>
<CalForm Name="CalRoot" VarName="" ID="CalRoot" FieldType="CalForm" ObjectID="85">
<Field Name="Cost" VarName="TotalCost"  LayerIndex="0" InitValue="-9999" OldValue="-9999" Value="-9999" />
<Field Name="Price" VarName="TotalProductCost" LayerIndex="0" InitValue="-9999" OldValue="-9999" Value="-9999" />
<Group Name="FYDEL" VarName="FYDEL" FieldType="Group">
<Item Name="Itemcs" VarName="Itemcs" FieldType="Item" LayerIndex="0" ObjectID="223" >
<Field Name="colproduct" VarName="colproduct" LayerIndex="0" InitValue="0" OldValue="0" Value="0" />
<Field Name="AsExempt" VarName="AsExempt" LayerIndex="0" InitValue="0" OldValue="0" Value="0" />
</Item>
</Group>
</CalForm>
</XML>    

下面是一些具体操作XML的方法
    var xml_Dom = document.getElementById('xmlDom').XMLDocument;    
    
var xml_FieldNodes=xml_Dom.getElementsByTagName('Field');//得到Field节点集合
    var xml_GroupNodes=xml_Dom.getElementsByTagName('Group');//得到Gruop节点集合。
    var node = xml_Dom.selectSingleNode("//*[@ControlID='"+id+"']");//    @ControlID匹配一个属性值。并找出对应id值的节点。
    var str = node.getAttribute("VarName");//得到属性VarName的值。
    node.setAttribute("OldValue",node.getAttribute('Value'));给OldValue属性赋Value属性的值。
    
for(var i=0;i<node.childNodes.length;i++)
    
{
        node.childNodes[i];
//遍历node节点下的所有子节点
    }

    
if (node.tagName=="Field")//判断此节点是否属性Field还是Group.
    {
        
//
    }

    node.parentNode.removeChild(node);
//删除一个节点。

这些都是在平常工作中所做的功能块。没写出具体的操作逻辑,只是一些用到的方法及属性
posted @ 2006-08-07 16:10  skylai  阅读(1313)  评论(0编辑  收藏  举报