2014-10-02 108 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