0

私は成功せずに 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/>3回すべて表示されています

4

1 に答える 1

0

問題は、XML ではなく Html でノードを作成しているdocumentため、追加できないことです。この行を変更します。

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

これについて:

str = xmlTree.createElement(child_name);

http://jsfiddle.net/W9Wpb/の作業コードを参照してください

于 2012-08-23T06:41:41.603 に答える