AngularJS:将XML字符串加载到XML文档

时间:2015-07-27 09:03:27

标签: javascript xml angularjs domparser

我有XML字符串,我必须将其加载到DOM文档。 我试过这个:

    if ($window.DOMParser)
    {
        parser=new $window.DOMParser();
        xml=parser.parseFromString(data,"application/xml");
    }
    else // Internet Explorer
    {
        xml=new ActiveXObject("Microsoft.XMLDOM");
        xml.async=false;
        xml.loadXML(data); 
    }

但在角度控制器上。它不起作用! 我得到了这个:

<body xmlns="http://www.w3.org/1999/xhtml"><parsererror style="display: block; white-space: pre; border: 2px solid #c77; padding: 0 1em 0 1em; margin: 1em; background-color: #fdd; color: black"><h3>This page contains the following errors:</h3><div style="font-family:monospace;font-size:12px">error on line 1 at column 1: Document is empty
    </div><h3>Below is a rendering of the page up to the first error.</h3></parsererror></body>

感谢您提前。

1 个答案:

答案 0 :(得分:4)

我已将角度调用更改为XML调用,并且不必解析对文档的响应,因为他是... 我的电话看起来像:

    $http({
            method  : 'GET',
            url     : "http://localhost:8080/getXML",
            timeout : 10000,
            params  : {
                fileName: fileName
            },
            transformResponse : function(data) {
                return $.parseXML(data);
            }
        }).success(function(data) {
           // data = document object
        });
来自API的

我返回一个有效的XML字符串,我在@RequestMapping上定义了Spring上的返回类型,以生成= MediaType.APPLICATION_XML_VALUE。 希望它对你也有帮助。