我正在尝试用下面的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和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>发布于 2012-06-26 22:07:54
你必须在选择器中escape这个::http://mothereff.in/css-escapes#1wcm%3Aroot
因此,不是:
$(xml).find("wcm:root")使用:
$(xml).find("wcm\\3a root")此外,您的代码片段是无效的JavaScript ( parseXml函数声明后缺少} )。检查您的错误控制台。
https://stackoverflow.com/questions/11209139
复制相似问题