0

我正在将一段 HTML 从我的页面传递到一个 Flash 电影,我想在其中将其解析为 XML。

我使用 jQuery 从页面中获取数据;

var htmlForFlash = escape($("#prodlinksWrap").html());

我传递的 HMTL 看起来有点像这样:

   <div id="prodlinks" class="noscript">
    <a href="/products/Quadrant.aspx">Quadrant</a> 
    <a href="/products/CampFire.aspx">CampFire</a>
   </div>

这在 FireFox、Chrome 和 Safari 中运行良好,但 IE 会抛出错误:

TypeError: Error #1090: XML parser failure: element is malformed.

在这条线上:

var myXML : XML = new XML(data);

当我删除 xml 中的所有属性时,错误消失了,但当然这不是我想要的。我已经尝试更改引号,添加<?xml ..>标签,但到目前为止没有结果。

任何帮助,将不胜感激!

4

1 回答 1

0

我发现了,当你在 IE 中获取一个 DOM 节点的 innerHTML 时,如果属性值中没有空格或斜线,IE 会删除它周围的引号。

感谢奥古斯都和 Coolnic!有关解决方案,请参阅此问题:

innerHTML 删除 Internet Explorer 中的属性引号

于 2012-06-18T07:56:42.113 回答