XML DOM createElementNS() 方法

  • 定义和使用

    createElementNS() 方法创建具有名称空间的元素节点。
    此方法返回 Element 对象。
  • 浏览器支持

    Internet Explorer Chrome FireFox Safari Opera
    8.0(包含)以上支持 4.0(包含)以上支持 2.0(包含)以上支持 3.0(包含)以上支持 9.0(包含)以上支持
    所有主流的浏览器均支持 createElementNS() 方法。
  • 语法

    createElementNS(ns,name)

    参数

    参数 类型 描述
    ns String 一个字符串,它指定元素节点的名称空间名称
    name String 一个字符串,它指定元素节点的名称
  • 示例

    以下代码片段将 "books.xml" 加载到 xmlDoc 中,并将具有命名空间的元素节点添加到每个<book>元素:
    <!DOCTYPE html>
    <html>
     <body>
     
     <p id="demo"></p>
    
     <script>
        var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function() {
            if (xhttp.readyState == 4 && xhttp.status == 200) {
                myFunction(xhttp);
            }
        };
        xhttp.open("GET", "books.xml", true);
        xhttp.send();
        
        function myFunction(xml) {
            var x, y, z, i, newel, newtext, xmlDoc, txt;
            xmlDoc = xml.responseXML;
            txt = "";
            x = xmlDoc.getElementsByTagName("book");
            for (i = 0; i < x.length; i++) { 
                newel = xmlDoc.createElementNS("p", "edition");
                newtext = xmlDoc.createTextNode("First");
                newel.appendChild(newtext);
                x[i].appendChild(newel);
            }
    
            y = xmlDoc.getElementsByTagName("title");
            z = xmlDoc.getElementsByTagNameNS("p","edition");
            for (i = 0; i < y.length; i++) { 
                txt += y[i].childNodes[0].nodeValue + 
                " - " + 
                z[i].childNodes[0].nodeValue + 
                " edition." + 
                " Namespace: " + 
                z[i].namespaceURI + "<br>";
            }
            document.getElementById("demo").innerHTML = txt; 
        }
     </script>
     
     </body>
    </html>
    
    尝试一下
    输出结果
    中国历史手册 - First edition. Namespace: p
    法语 - First edition. Namespace: p
    XQuery 手册 - First edition. Namespace: p
    学习 XML - First edition. Namespace: p