javascript xml字符串解析

来源:互联网 发布:淘宝商品复制软件 编辑:程序博客网 时间:2024/06/06 12:22
function xxx(){
    var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><root name=\"root\" id=\"root\">root-value<child name=\"kdc\">ky <p></p> yk</child></root>";
    
    var xmlDoc = loadXML(xml);
    var root = xmlDoc.getElementsByTagName("root")[0];

    var child1 = root.childNodes[0];
    alert(child1.nodeValue);//取节点的文本值

    child1 = root.childNodes[1];//取子节点
    alert(child1.attributes.getNamedItem("name").value);//取节点的属性

    alert(child1.childNodes[0].nodeType);//取节点的类型
    for(var i = 0; i< child1.childNodes.length; i ++){//注意不好用for-each
        //遍历子节点,并找出文本节点 
        var node = child1.childNodes[i];
        if(node.nodeType == 3){ //Node.TEXT_NODE = 3,此属性在IE下无法引用,DOM标准中文本节点的类型值固定为3
            alert(node.nodeValue);//取节点的文本值
        }
    }


}

function loadXML(xmlString){

    var xmlDoc;
    if (window.ActiveXObject)
    {
        xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
        if(!xmlDoc) xmldoc = new ActiveXObject("MSXML2.DOMDocument.3.0");
        xmlDoc.async = false;
        xmlDoc.loadXML(xmlString);
    }else if (document.implementation && document.implementation.createDocument)
    {
        //xmlDoc = document.implementation.createDocument('', '', null);
        //xmlDoc.load(xmlFile);
        var domParser = new DOMParser();
        xmlDoc = domParser.parseFromString(xmlString, 'text/xml');
    }else
    {
        return null;
    }
    return xmlDoc;
}
0 0
原创粉丝点击