Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-从程序生成的xml文件读取并在页面上呈现-安培数中断脚本_Jquery_Xml - Fatal编程技术网

jQuery-从程序生成的xml文件读取并在页面上呈现-安培数中断脚本

jQuery-从程序生成的xml文件读取并在页面上呈现-安培数中断脚本,jquery,xml,Jquery,Xml,如果我有像这样的文字 标题:安全可靠 艺术家:首都 它工作得很好,但是一旦程序引入文本 标题:安全与健康 艺术家:首都 脚本将不会渲染它。如果我尝试转义字符串,它会将空格转换为%20,但仍然无法处理&并且根本无法渲染该内容 注意:我们无法更改程序呈现xml文件的方式,并且它呈现的内容在技术上是无效的xml(没有声明或字符编码,行项目也没有转义),我们必须使用给定的内容 以下是脚本的一部分: jQuery(document).ready(function($) { function get

如果我有像这样的文字

标题:安全可靠 艺术家:首都

它工作得很好,但是一旦程序引入文本

标题:安全与健康 艺术家:首都

脚本将不会渲染它。如果我尝试转义字符串,它会将空格转换为%20,但仍然无法处理&并且根本无法渲染该内容

注意:我们无法更改程序呈现xml文件的方式,并且它呈现的内容在技术上是无效的xml(没有声明或字符编码,行项目也没有转义),我们必须使用给定的内容

以下是脚本的一部分:

jQuery(document).ready(function($)
{
    function getSong() {
       var song= $.ajax({
            type: "GET",
            url: "/dalet/nowplaying2.xml",
            dataType: "xml",
            async : false,
            cache : false,
        }).responseXML;

   $(song).find('Current').each(function(){

     var title = $(this).find("titleName").text();
     var artist = $(this).find("artistName").text();

     $("#nowsongtitle").html(title);
     $("#nowsongartist").html(artist);

  });
   }
setInterval(function() {
getSong();
}, 5000);
});
下面是程序中XML的外观(Dalet5.1)


2013-11-30T13:53:25
不为人知
2013-11-30T13:53:25
8839
安然无恙的
首都
Hitzone 67(CD2)
2013-11-30T13:56:36
1000000627:7514
8827
爱情
卡里姆·韦莱特
福克斯

您的xml文档似乎没有正确编码。您需要避开符号和:

<titleName>Safe &amp; Sound</titleName>
Safe&;声音
或者将该标记的内容放在CDATA区域中:

<titleName><![CDATA[Safe & Sound]]></titleName>


如果无法更改xml文档本身,则在使用jQueryXML解码器对其进行解析之前,可能必须对从服务器返回的xml进行字符串替换。如果您查看文档,其中有一节介绍了如何定制响应解码器。

XML中不允许使用与符号,但某些标记除外,如标题标记(如果我没记错的话),因此如果它破坏了某些内容,不管是什么东西坏了都不能正常工作我会作弊然后这么做->不确定我是否理解你的最后一部分。Dalet生成文件的程序对输出的控制是有限的。更改软件(dalet)是不可能的,我以前也处理过类似的API,这一点也不少见,我通常通过一点字符串替换来解决它,将$替换为字符串中不太可能出现的其他内容,然后在输出文本之前替换回去。请看我上面的例子。简单的解决方案是使用另一个服务器文件来检索、包装和清理xml,并将该文件用作ajax URL。同样,我们无法控制Dalet如何输出xml。据我们所知,它是不可定制的。这正是你所看到的。
<titleName><![CDATA[Safe & Sound]]></titleName>