zoukankan      html  css  js  c++  java
  • js操作dom(3)

    <script type="text/javascript" src="sg_share.js"></script>
    <script type="text/javascript">
        
    var xml=sg.xmlDocument();
        xml.load(
    "XmlFeedbackTemplate.xml");
        
    var ColumnsNode=xml.selectSingleNode("Schema/Summary/Columns");
        
    var RowsNode = xml.selectSingleNode("Schema/Rows");
        
    var row=xml.createElement("Row");

        
    for(var i=0,j=ColumnsNode.childNodes.length;i<j;i++)
        
    {
            
    //以下两者皆可
            //alert(ColumnsNode.childNodes[i].attributes[0].value);
            //alert(ColumnsNode.childNodes[i].getAttribute("ColumnName"));
            row.setAttribute(ColumnsNode.childNodes[i].getAttribute("ColumnName"),i);
            
        }

        RowsNode.appendChild(row);
        
        
    //定位Row的父节点,然后通过childNodes访问
        for(var i=0,j=RowsNode.childNodes[0].attributes.length;i<j;i++)
        
    {
            alert(RowsNode.childNodes[
    0].attributes[i].value);        
        }


        
    //或者直接定位到Rows的子节点
        var rowNode=xml.selectSingleNode("Schema/Rows/Row");
        
    for(var i=0,j=rowNode.attributes.length;i<j;i++)
        
    {
            alert(rowNode.attributes[i].value);        
        }

    </script>


    xml参考上一篇文章!
    注意一点:添加新元素Row时,先createElement

     节点的查找:
    //查找含有某个属性的节点
     var findNode=xml.selectSingleNode("Schema/Rows/Row[@IndexId='12']");
     alert(findNode.getAttribute("指标分类"))

    如果是查找符合要求的元素,要去掉@,更多用法请参考xpath相关文档

  • 相关阅读:
    != 比 & 的优先级高
    VC++ 报错:Heap corruption detected
    sqlite 查询数据库中所有的表名,判断某表是否存在,将某列所有数值去重后获得数量
    Unicode与UTF-8,UTF-16
    各种格式的压缩包解压,7zip 命令行
    bat批处理文件运行时隐藏cmd窗口
    标准库中 vector list等排序
    duilib 实现列表头任意拖动
    duilib 实现 XML重用(item完全重合的CList)
    C++-POJ2503-Babelfish[hash]
  • 原文地址:https://www.cnblogs.com/jackhuclan/p/1176074.html
Copyright © 2011-2022 走看看