我正在尝试使用以下jQuery解析以下XML。页面上没有显示任何内容。我知道它正在获取文件。我在网上看过,虽然有很多用jquery解析xml的例子,但是没有一个看起来像这种格式。
XML:
<?xml version="1.0" encoding="utf-8"?>
<wcm:root xmlns:wcm="http://www.stellant.com/wcm-data/ns/8.0.0" version="8.0.0.0">
<wcm:element name="title"></wcm:element>
<wcm:element name="wide_image"><img src='[!--$wcmUrl&amp;x28;'resource&#39;,&#39;CMS3_130980&#39;&amp;x29;--]&#39;/></wcm:element>
<wcm:element name="image"><img src="[!--$wcmUrl('resource','CMS3_132821')--]"/></wcm:element>
<wcm:element name="body"><p>
Paragraph of text goes here.<br /><br />
Paragraph of text goes here.<br /><br />
Paragraph of text goes here.<br /><br />
Paragraph of text goes here.<br /><br />
Paragraph of text goes here.</p>
</wcm:element>
</wcm:root>
HTML&amp; jQuery的:
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$.ajax({
type: "GET",
url: "link_to_my_file.xml",
dataType: "xml",
success: parseXml
});
});
function parseXml(xml){
$(xml).find("wcm\\3a root").each(function(){
alert("Test");
$("#output").append($(this).attr("title") + "<br />");
$("#output").append($(this).attr("wide_image") + "<br />");
$("#output").append($(this).attr("image") + "<br />");
$("#output").append($(this).attr("body") + "<br />");
});
};
</script>
<div id="output"></div>
</html>
答案 0 :(得分:0)
您必须escape选择器中的:
:http://mothereff.in/css-escapes#1wcm%3Aroot
所以,而不是:
$(xml).find("wcm:root")
使用:
$(xml).find("wcm\\3a root")
此外,您的代码段是无效的JavaScript(在}
函数声明后缺少parseXml
)。检查错误控制台。