2014-10-02 76 views
0
var fileUrl = '/files/file.xml'; 

$.ajax({ 
    type: "GET", 
    url: fileUrl, 
    dataType: "xml", 
    success: parseResultsXML 
}); 

function parseResultsXML(xml) { 
    var dom = $(xml); 
    var item = $.parseXML("<SubNode><somevalue>new value</somevalue></SubNode>"); 
    $(dom).children(0).prepend($(item).children(0)); 

    //Error 
    console.log(dom.html()); 

    //See Output below 
    console.log(dom.children().html()); 
} 

//Original Xml 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<RootNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <SubNode> 
    <somevalue>value</somevalue> 
    </SubNode> 
</RootNode> 

//Output 
    <SubNode> 
    <somevalue>new value</somevalue> 
    </SubNode> 
    <SubNode> 
    <somevalue>value</somevalue> 
    </SubNode> 

//Expected Output 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<RootNode xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <SubNode> 
    <somevalue>new value</somevalue> 
    </SubNode> 
    <SubNode> 
    <somevalue>value</somevalue> 
    </SubNode> 
</RootNode> 

代码相当自我解释。解析并插入节点后获取完整的XML输出

我正在检索一个XML文件,附加一个新节点,并且我想发送回输出,但我无法弄清楚如何获得完整的输出。

什么,看似很简单的东西,我是否错过?

回答

0

如果你看看你parseResultsXML可以做这样的

$.ajax({ 
    type: 'GET', 
    contentType: 'application/x-www-form-urlencoded; charset=UTF-8', 
    url: fileUrl, 
    dataType: "xml", 
    parseResultsXML: function(xml) { 
     if (xml.readyState == 4 && xml.status == 200) { 
      var somevalue = $(xml.SubNode).find('somevalue').text(); 
     } 
    } 
}); 
+0

,我加在你要吐出线。我并不是在寻找那个节点,我只是希望整个事情能够与新节点一起吐出来。 – Wesley 2014-10-02 15:57:20

+0

用预期输出编辑 – Wesley 2014-10-02 15:58:32