2013-03-08 58 views
4

我不完全理解爲什麼這不起作用。我認爲XML很容易交互,但我不禁感到XML的標記導致了問題。我知道它驗證XML,但仍:XML作爲字符串返回,而不是對象

XML 79.xml

<TREE xmlns:autn="http://schemas.autonomy.com/aci/"> 
     <ITEM id="753" name="Report an IT Issue for a Corporate Finance Application." link="http://ithelp-remedy.gsk.com/ars/ITHelpHDsubmit_Application/SubmitProblemTicket.asp?qSummary=CORPFINANCEIT"> 
       <HELPLINKS/> 
     </ITEM> 
</TREE> 

另外值得注意的,這是整個XML是我回來,我不應該在XML頭更詳細?

jQuery的

$.ajax({ 
    url:'xml/79.xml', 
    dataType : 'xml', 
    success: function(data){ 
     console.info(data); 
    } 
}); 

這不會返回一個對象,我與:(發揮如何,我可以,我得到它,這樣我可以輕鬆地與data

+0

應該根據jQuery的文檔,你有什麼的console.log()顯示? – soyuka 2013-03-08 12:00:52

+0

更好地使用Javascript來閱讀xml – 2013-03-08 12:01:01

+0

'Object {readyState = 1,setRequestHeader = function(),getAllResponseHeaders = function(),more ...}'在這裏面,我可以在'responseText'裏面看到所需的XML,但它是隻返回作爲一個字符串,而不是一個對象 – 2013-03-08 12:01:29

回答

1

試試這個:

$.ajax({ 
    url:'xml/79.xml', 
    dataType : 'text', 
    success: function(data){ 
     //I'm adding the xml tags alright, but I don't think you 
     //really need to, or you could just put a check. 
     var omgXmlObj = $($.parseXML('<xml>' + data + '</xml>')); 
     console.log(omgXmlObj.find('TREE')); 
     console.log(omgXmlObj.find('TREE').attr('xmlns:autn')); 
    } 
}); 
+0

我會編輯它,但太棒了。沒有想過僅僅將dataType作爲文本給出,但這裏的真正關鍵是包裝在'xml'標記中返回的字符串,然後解析它。 :D – 2013-03-08 13:14:51

+0

@JamieHutber不僅如此,還包括解析文檔對象的$ wrap,即$($。parseXML(....))。這打開了整個jQuery awesomeness罐頭(查找,attr等)。另外,正如我在代碼片段中的評論中所提到的,沒有嚴格的需要添加xml標籤。在這種情況下,即使你省略了xml標籤,你仍然可以構建你的文檔並使用它。我只是做一個潛意識感覺很好的因素,我真的不能證明,哈哈。 – 2013-03-08 15:56:18

+0

哈,你明顯地,我總是把所有的標籤都用不必要的元素包起來:p 但是,就像你說的,我用$包裹了所有元素,所以我可以在它們上使用jQuery。好東西哥們:) – 2013-03-08 16:22:22

1

據jQuery的文檔播放

如果要將文本響應視爲XML,請使用「text xml」作爲 dataType

所以嘗試做這樣的:

$.ajax({ 
    url:'xml/79.xml', 
    dataType : 'text xml', 
    success: function(data){ 
     console.info(data); 
    } 
}); 

的源代碼來看(_ajaxConvert功能)好像沒有轉換如果只指定一個數據類型都,我可能是錯的

+0

仍然返回對象,但它的方向正確。 @refactor擁有它的權利。 – 2013-03-08 13:14:10

相關問題