使用jQuery输出xml文件的内容
问题描述:
我在写一个jQuery脚本时遇到了一些麻烦,因为我无法获取我想要的数据。使用jQuery输出xml文件的内容
,我有以下类型的布局(我只呈现片段)的XML文件,
<page1>
<title>First page</title>
<description>Lorem ipsum</description>
<image1 thumb='#'>images/image01.jpg</image1>
<image2 thumb ='#'>images/image02.jpg</image2>
</page1>
<page2>
<title>Second page</title>
<description>Lorem ipsum</description>
<image1 thumb='#'>images/image01.jpg</image1>
<image2 thumb ='#'>images/image02.jpg</image2>
</page2>
现在我想找到获取取决于标题值说明的一种方式。我的代码如下,我可以说有什么是可怕的错误。
$(document).ready(function() {
$.ajax({
type: "GET",
url: "xml_concept.xml",
dataType: "xml",
success: parseXml
});
});
function parseXml(xml) {
$(xml).find("title":contains("First Page")) {
$("#text-area").append('<div class="test-xml">' + $(this).text() + '</div>');
}
}
我敢肯定,这不是指我想要什么,而是作为一个整体的XML?如果正确,我如何选择标签后的内容并追加它们?我已经能够成功解析内容,但不能解决我设置的条件,所以我正在考虑使用if语句或case/switch。
另一件事,我是否正确地假设我使用':contains'完全错误?
你的帮助是非常赞赏
答
我发现实现一个更合适的方式结果我希望通过直接加载外部html内容而不是依靠一个xml文档。
答
的问题是在这条线:
$(xml).find("Title":contains("O2 Brandroom"))
...特别是结肠"Title"
后,这是无效的JavaScript语法。
这段代码的目的是为位是相同的选择为Title
的一部分,所以尽量把整个事情引号内:
$(xml).find("Title:contains('O2 Brandroom')")
谢谢。这很有意义。但是,数据仍然没有显示在我的HTML。现在第二行代码可以正常工作,我想知道如果$(this).text()实际上是检索'title'标签的内容。请注意,我已将O2 Brandroom更改为第一页,正如我的示例中所示,并将“标题”更改为“标题”,因为它在我的xml中 – infmz