4

我不完全明白为什么这不起作用。我认为 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

4

2 回答 2

1

根据 jQuery 文档

如果您希望将文本响应视为 XML,请对 dataType 使用“text xml”

所以尝试这样做:

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

从源代码(_ajaxConvert 函数)来看,如果只指定一种数据类型,似乎根本没有转换,虽然我可能是错的

于 2013-03-08T12:30:16.507 回答
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'));
     }
});
于 2013-03-08T12:32:00.017 回答