使用Jquery添加XML元素

Adding XML element using Jquery

本文关键字:元素 XML 添加 Jquery 使用      更新时间:2023-09-26

我一直致力于将XML元素添加到XML结构中,但没有成功,这是我的代码。

var parseXml;
        if (window.DOMParser) {
            parseXml = function(xmlStr) {
            return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
            };
        }
        else if (typeof window.ActiveXObject != "undefined" && new window.ActiveXObject("Microsoft.XMLDOM")) {
            parseXml = function(xmlStr) {
                var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
                xmlDoc.async = "false";
                xmlDoc.loadXML(xmlStr);
                return xmlDoc;
            };
        }
        else {
            parseXml = function() { return null; }
        }
        var xmlTree = parseXml("<root></root>");
        function add_children(child_name,parent_name)
        {
            str = '<'+child_name+'></'+child_name+'>';
            //strXML = parseXml(str);
            $(xmlTree).find(parent_name).append(str);
            var xmlString = (new XMLSerializer()).serializeToString(xmlTree);
            console.log(xmlString);
        }
        add_children("apple","root");
        add_children("orange","root");
        add_children("lychee","root");

但是控制台三次显示<root/>

问题是您在Html document中创建节点,而不是在XML中,所以您不能附加它。更改此行:

str = '<'+child_name+'></'+child_name+'>';

对于这个:

str = xmlTree.createElement(child_name);

请参阅中的工作代码http://jsfiddle.net/W9Wpb/