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);
// 删除一个节点。

这些都是在平常工作中所做的功能块。没写出具体的操作逻辑,只是一些用到的方法及属性

你可能感兴趣的:(xml)