使用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')") 
+0

谢谢。这很有意义。但是,数据仍然没有显示在我的HTML。现在第二行代码可以正常工作,我想知道如果$(this).text()实际上是检索'title'标签的内容。请注意,我已将O2 Brandroom更改为第一页,正如我的示例中所示,并将“标题”更改为“标题”,因为它在我的xml中 – infmz