Tôi đã xem bài đăng giải quyết vấn đề này nhưng tôi vẫn không thể giải quyết được vấn đề của mình:jQuery và XML (với CDATA)
Tôi đã có XML với CDATA và khi phân tích cú pháp XML, bao gồm CDATA (mà tôi không muốn).
mẫu XML:
<mainnav>
<nav path="/" xmlpath="home.xml" key="footer" navigator="">
<display><![CDATA[Home]]></display>
<title><![CDATA[Home]]></title>
</nav>
<nav path="/nav1/" xmlpath="nav1.xml" key="primary" navigator="primary" iconid="0">
<display><![CDATA[Nav 1]]></display>
<title><![CDATA[Nav 1]]></title>
<overdesc><![CDATA[test nav 1]]></overdesc>
<sub path="/nav1/sub1/" xmlpath="nav1/sub1.xml" key="sub">
<display><![CDATA[sub 1<br />of nav 1]]></display>
<title><![CDATA[sub 1<br />of nav 1]]></title>
</sub>
</nav>
<nav path="/nav1/" xmlpath="nav2.xml" key="primary" navigator="primary" iconid="1">
<display><![CDATA[Nav 2]]></display>
<title><![CDATA[Nav 2]]></title>
<overdesc><![CDATA[test nav 2]]></overdesc>
<sub path="/nav2/sub1/" xmlpath="nabv2/sub1.xml" key="sub">
<display><![CDATA[sub 1<br />of nav 2]]></display>
<title><![CDATA[sub 1<br />of nav2]]></title>
</sub>
</nav>
</mainnav>
jQuery:
$(document).ready(function(){
$.ajax({
type: "GET",
url: "site_xml/config.xml",
//contentType: "text/xml",
dataType: ($.browser.msie) ? "xml" : "text/xml",
success: parseXML,
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});});
function parseXML(xml) {
$(xml).find('nav').each(function(){
if ($(this).attr("key")=="primary") { // this is a primary nav item;
var title = $.trim($(this).find('title').text());
alert(title);
$("#output").append(title); //nothing showing up in my output DIV, presumably due to the CDATA tags?
}
});
}
oh cảm ơn. dataType đã thực hiện thủ thuật. d'oh! nhưng IE6 sẽ không hiển thị bất kỳ thứ gì ngay bây giờ. bất kỳ ý tưởng nào? – Pico
Bạn có đang thử nghiệm địa phương này không? IE6 dường như không thích điều đó. Có lẽ vì các tiêu đề chính xác không được gửi khi chúng ở trên máy chủ web. Thử đặt tệp XML lên máy chủ web hoặc sử dụng tệp này để kiểm tra: http://digitalpadin.com/test.xml Nguồn: http://groups.google.com/group/jquery-en/browse_thread/ thread/adb2b047f3761179? pli = 1 – Sandro
tất cả đều chạy trên máy chủ web. – Pico